home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / packages / igrep.elc.z / igrep.elc
Emacs Compiled Lisp  |  1998-05-21  |  18.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v20 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 35 32 3a 35 30 20 31 | 39 39 38 0a 3b 3b 3b 20 |:52:50 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 70 61 63 6b |s-20.3/l|isp/pack|
|000000a0| 61 67 65 73 2f 69 67 72 | 65 70 2e 65 6c 0a 3b 3b |ages/igr|ep.el.;;|
|000000b0| 3b 20 65 6d 61 63 73 20 | 76 65 72 73 69 6f 6e 20 |; emacs |version |
|000000c0| 32 30 2e 34 20 22 45 6d | 65 72 61 6c 64 22 20 58 |20.4 "Em|erald" X|
|000000d0| 45 6d 61 63 73 20 20 4c | 75 63 69 64 2e 0a 3b 3b |Emacs L|ucid..;;|
|000000e0| 3b 20 62 79 74 65 63 6f | 6d 70 20 76 65 72 73 69 |; byteco|mp versi|
|000000f0| 6f 6e 20 32 2e 32 35 20 | 58 45 6d 61 63 73 3b 20 |on 2.25 |XEmacs; |
|00000100| 32 32 2d 4d 61 72 2d 39 | 36 2e 0a 3b 3b 3b 20 6f |22-Mar-9|6..;;; o|
|00000110| 70 74 69 6d 69 7a 61 74 | 69 6f 6e 20 69 73 20 6f |ptimizat|ion is o|
|00000120| 6e 2e 0a 3b 3b 3b 20 74 | 68 69 73 20 66 69 6c 65 |n..;;; t|his file|
|00000130| 20 75 73 65 73 20 6f 70 | 63 6f 64 65 73 20 77 68 | uses op|codes wh|
|00000140| 69 63 68 20 64 6f 20 6e | 6f 74 20 65 78 69 73 74 |ich do n|ot exist|
|00000150| 20 69 6e 20 45 6d 61 63 | 73 20 31 39 2e 0a 0a 28 | in Emac|s 19...(|
|00000160| 69 66 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |if (and |(boundp |
|00000170| 27 65 6d 61 63 73 2d 76 | 65 72 73 69 6f 6e 29 0a |'emacs-v|ersion).|
|00000180| 09 20 28 6f 72 20 28 61 | 6e 64 20 28 62 6f 75 6e |. (or (a|nd (boun|
|00000190| 64 70 20 27 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |dp 'epoc|h::versi|
|000001a0| 6f 6e 29 20 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |on) epoc|h::versi|
|000001b0| 6f 6e 29 0a 09 20 20 20 | 20 20 28 73 74 72 69 6e |on).. | (strin|
|000001c0| 67 2d 6c 65 73 73 70 20 | 65 6d 61 63 73 2d 76 65 |g-lessp |emacs-ve|
|000001d0| 72 73 69 6f 6e 20 22 32 | 30 22 29 29 29 0a 20 20 |rsion "2|0"))). |
|000001e0| 20 20 28 65 72 72 6f 72 | 20 22 60 69 67 72 65 70 | (error| "`igrep|
|000001f0| 2e 65 6c 27 20 77 61 73 | 20 63 6f 6d 70 69 6c 65 |.el' was| compile|
|00000200| 64 20 66 6f 72 20 45 6d | 61 63 73 20 32 30 22 29 |d for Em|acs 20")|
|00000210| 29 0a 0a 28 6f 72 20 28 | 62 6f 75 6e 64 70 20 27 |)..(or (|boundp '|
|00000220| 63 75 72 72 65 6e 74 2d | 6c 6f 61 64 2d 6c 69 73 |current-|load-lis|
|00000230| 74 29 20 28 73 65 74 71 | 20 63 75 72 72 65 6e 74 |t) (setq| current|
|00000240| 2d 6c 6f 61 64 2d 6c 69 | 73 74 20 6e 69 6c 29 29 |-load-li|st nil))|
|00000250| 0a 0a 0a 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |...(byte|-code ".|
|00000260| c1 21 88 c2 c3 21 88 c2 | c4 21 87 22 20 5b 70 72 |.!...!..|.!." [pr|
|00000270| 6f 76 69 64 65 20 69 67 | 72 65 70 20 72 65 71 75 |ovide ig|rep requ|
|00000280| 69 72 65 20 62 61 63 6b | 71 75 6f 74 65 20 63 6f |ire back|quote co|
|00000290| 6d 70 69 6c 65 5d 20 32 | 29 0a 23 40 32 31 20 56 |mpile] 2|).#@21 V|
|000002a0| 65 72 73 69 6f 6e 20 6f | 66 20 69 67 72 65 70 2e |ersion o|f igrep.|
|000002b0| 65 6c 1f 0a 28 64 65 66 | 63 6f 6e 73 74 20 69 67 |el..(def|const ig|
|000002c0| 72 65 70 2d 76 65 72 73 | 69 6f 6e 20 22 32 2e 35 |rep-vers|ion "2.5|
|000002d0| 36 22 20 28 23 24 20 2e | 20 36 37 31 29 29 0a 28 |6" (#$ .| 671)).(|
|000002e0| 63 75 73 74 6f 6d 2d 64 | 65 63 6c 61 72 65 2d 67 |custom-d|eclare-g|
|000002f0| 72 6f 75 70 20 27 69 67 | 72 65 70 20 6e 69 6c 20 |roup 'ig|rep nil |
|00000300| 22 41 6e 20 69 6d 70 72 | 6f 76 65 64 20 69 6e 74 |"An impr|oved int|
|00000310| 65 72 66 61 63 65 20 74 | 6f 20 60 67 72 65 70 27 |erface t|o `grep'|
|00000320| 2e 22 20 3a 67 72 6f 75 | 70 20 27 70 72 6f 63 65 |." :grou|p 'proce|
|00000330| 73 73 65 73 29 0a 28 63 | 75 73 74 6f 6d 2d 64 65 |sses).(c|ustom-de|
|00000340| 63 6c 61 72 65 2d 76 61 | 72 69 61 62 6c 65 20 27 |clare-va|riable '|
|00000350| 69 67 72 65 70 2d 6f 70 | 74 69 6f 6e 73 20 27 6e |igrep-op|tions 'n|
|00000360| 69 6c 20 22 2a 54 68 65 | 20 6f 70 74 69 6f 6e 73 |il "*The| options|
|00000370| 20 70 61 73 73 65 64 20 | 62 79 20 5c 5c 5b 69 67 | passed |by \\[ig|
|00000380| 72 65 70 5d 20 74 6f 20 | 60 69 67 72 65 70 2d 70 |rep] to |`igrep-p|
|00000390| 72 6f 67 72 61 6d 27 2c | 20 6f 72 20 6e 69 6c 2e |rogram',| or nil.|
|000003a0| 5c 6e 5c 6e 60 2d 6e 27 | 20 77 69 6c 6c 20 61 75 |\n\n`-n'| will au|
|000003b0| 74 6f 6d 61 74 69 63 61 | 6c 6c 79 20 62 65 20 70 |tomatica|lly be p|
|000003c0| 61 73 73 65 64 20 74 6f | 20 60 69 67 72 65 70 2d |assed to| `igrep-|
|000003d0| 70 72 6f 67 72 61 6d 27 | 2c 20 74 6f 20 67 65 6e |program'|, to gen|
|000003e0| 65 72 61 74 65 20 74 68 | 65 5c 6e 6f 75 74 70 75 |erate th|e\noutpu|
|000003f0| 74 20 65 78 70 65 63 74 | 65 64 20 62 79 20 5c 5c |t expect|ed by \\|
|00000400| 5b 6e 65 78 74 2d 65 72 | 72 6f 72 5d 20 61 6e 64 |[next-er|ror] and|
|00000410| 20 5c 5c 5b 63 6f 6d 70 | 69 6c 65 2d 67 6f 74 6f | \\[comp|ile-goto|
|00000420| 2d 65 72 72 6f 72 5d 2e | 5c 6e 60 2d 65 27 20 77 |-error].|\n`-e' w|
|00000430| 69 6c 6c 20 61 75 74 6f | 6d 61 74 69 63 61 6c 6c |ill auto|maticall|
|00000440| 79 20 62 65 20 70 61 73 | 73 65 64 20 74 6f 20 60 |y be pas|sed to `|
|00000450| 69 67 72 65 70 2d 70 72 | 6f 67 72 61 6d 27 2c 20 |igrep-pr|ogram', |
|00000460| 69 66 20 69 74 20 73 75 | 70 70 6f 72 74 73 5c 6e |if it su|pports\n|
|00000470| 74 68 61 74 20 6f 70 74 | 69 6f 6e 2e 22 20 3a 74 |that opt|ion." :t|
|00000480| 79 70 65 20 27 28 72 65 | 70 65 61 74 20 28 73 74 |ype '(re|peat (st|
|00000490| 72 69 6e 67 20 3a 74 61 | 67 20 22 4f 70 74 69 6f |ring :ta|g "Optio|
|000004a0| 6e 22 29 29 20 3a 67 72 | 6f 75 70 20 27 69 67 72 |n")) :gr|oup 'igr|
|000004b0| 65 70 29 0a 28 63 75 73 | 74 6f 6d 2d 64 65 63 6c |ep).(cus|tom-decl|
|000004c0| 61 72 65 2d 76 61 72 69 | 61 62 6c 65 20 27 69 67 |are-vari|able 'ig|
|000004d0| 72 65 70 2d 72 65 61 64 | 2d 6f 70 74 69 6f 6e 73 |rep-read|-options|
|000004e0| 20 27 6e 69 6c 20 22 2a | 49 66 20 6e 6f 6e 2d 6e | 'nil "*|If non-n|
|000004f0| 69 6c 2c 20 60 5c 5c 5b | 69 67 72 65 70 5d 27 20 |il, `\\[|igrep]' |
|00000500| 61 6c 77 61 79 73 20 70 | 72 6f 6d 70 74 73 20 66 |always p|rompts f|
|00000510| 6f 72 20 6f 70 74 69 6f | 6e 73 3b 5c 6e 6f 74 68 |or optio|ns;\noth|
|00000520| 65 72 77 69 73 65 2c 20 | 69 74 20 6f 6e 6c 79 20 |erwise, |it only |
|00000530| 70 72 6f 6d 70 74 73 20 | 77 68 65 6e 20 31 20 6f |prompts |when 1 o|
|00000540| 72 20 33 20 60 43 2d 75 | 27 73 20 61 72 65 20 67 |r 3 `C-u|'s are g|
|00000550| 69 76 65 6e 20 61 73 20 | 61 20 70 72 65 66 69 78 |iven as |a prefix|
|00000560| 20 61 72 67 2e 22 20 3a | 74 79 70 65 20 27 62 6f | arg." :|type 'bo|
|00000570| 6f 6c 65 61 6e 20 3a 67 | 72 6f 75 70 20 27 69 67 |olean :g|roup 'ig|
|00000580| 72 65 70 29 0a 28 63 75 | 73 74 6f 6d 2d 64 65 63 |rep).(cu|stom-dec|
|00000590| 6c 61 72 65 2d 76 61 72 | 69 61 62 6c 65 20 27 69 |lare-var|iable 'i|
|000005a0| 67 72 65 70 2d 72 65 61 | 64 2d 6d 75 6c 74 69 70 |grep-rea|d-multip|
|000005b0| 6c 65 2d 66 69 6c 65 73 | 20 27 6e 69 6c 20 22 2a |le-files| 'nil "*|
|000005c0| 49 66 20 6e 6f 6e 2d 6e | 69 6c 2c 20 60 5c 5c 5b |If non-n|il, `\\[|
|000005d0| 69 67 72 65 70 5d 27 20 | 61 6c 77 61 79 73 20 70 |igrep]' |always p|
|000005e0| 72 6f 6d 70 74 73 20 66 | 6f 72 20 6d 75 6c 74 69 |rompts f|or multi|
|000005f0| 70 6c 65 2d 66 69 6c 65 | 73 3b 5c 6e 6f 74 68 65 |ple-file|s;\nothe|
|00000600| 72 77 69 73 65 2c 20 69 | 74 20 6f 6e 6c 79 20 70 |rwise, i|t only p|
|00000610| 72 6f 6d 70 74 73 20 77 | 68 65 6e 20 32 20 6f 72 |rompts w|hen 2 or|
|00000620| 20 33 20 60 43 2d 75 27 | 73 20 61 72 65 20 67 69 | 3 `C-u'|s are gi|
|00000630| 76 65 6e 20 61 73 20 61 | 20 70 72 65 66 69 78 20 |ven as a| prefix |
|00000640| 61 72 67 2e 22 20 3a 74 | 79 70 65 20 27 62 6f 6f |arg." :t|ype 'boo|
|00000650| 6c 65 61 6e 20 3a 67 72 | 6f 75 70 20 27 69 67 72 |lean :gr|oup 'igr|
|00000660| 65 70 29 0a 28 63 75 73 | 74 6f 6d 2d 64 65 63 6c |ep).(cus|tom-decl|
|00000670| 61 72 65 2d 76 61 72 69 | 61 62 6c 65 20 27 69 67 |are-vari|able 'ig|
|00000680| 72 65 70 2d 76 65 72 62 | 6f 73 65 2d 70 72 6f 6d |rep-verb|ose-prom|
|00000690| 70 74 73 20 27 74 20 22 | 2a 49 66 20 74 2c 20 5c |pts 't "|*If t, \|
|000006a0| 5c 5b 69 67 72 65 70 5d | 20 70 72 6f 6d 70 74 73 |\[igrep]| prompts|
|000006b0| 20 66 6f 72 20 61 72 67 | 75 6d 65 6e 74 73 20 76 | for arg|uments v|
|000006c0| 65 72 62 6f 73 65 6c 79 | 3b 5c 6e 69 66 20 6e 6f |erbosely|;\nif no|
|000006d0| 74 20 74 20 62 75 74 20 | 6e 6f 6e 2d 6e 69 6c 2c |t t but |non-nil,|
|000006e0| 20 5c 5c 5b 69 67 72 65 | 70 5d 20 70 72 6f 6d 70 | \\[igre|p] promp|
|000006f0| 74 73 20 66 6f 72 20 61 | 72 67 75 6d 65 6e 74 73 |ts for a|rguments|
|00000700| 20 73 65 6d 69 2d 76 65 | 72 62 6f 73 65 6c 79 3b | semi-ve|rbosely;|
|00000710| 5c 6e 69 66 20 6e 69 6c | 2c 20 5c 5c 5b 69 67 72 |\nif nil|, \\[igr|
|00000720| 65 70 5d 20 70 72 6f 6d | 70 74 73 20 66 6f 72 20 |ep] prom|pts for |
|00000730| 61 72 67 75 6d 65 6e 74 | 73 20 74 65 72 73 65 6c |argument|s tersel|
|00000740| 79 2e 22 20 3a 74 79 70 | 65 20 27 62 6f 6f 6c 65 |y." :typ|e 'boole|
|00000750| 61 6e 20 3a 67 72 6f 75 | 70 20 27 69 67 72 65 70 |an :grou|p 'igrep|
|00000760| 29 0a 28 63 75 73 74 6f | 6d 2d 64 65 63 6c 61 72 |).(custo|m-declar|
|00000770| 65 2d 76 61 72 69 61 62 | 6c 65 20 27 69 67 72 65 |e-variab|le 'igre|
|00000780| 70 2d 73 61 76 65 2d 62 | 75 66 66 65 72 73 20 27 |p-save-b|uffers '|
|00000790| 27 71 75 65 72 79 20 22 | 2a 49 66 20 74 2c 20 5c |'query "|*If t, \|
|000007a0| 5c 5b 69 67 72 65 70 5d | 20 66 69 72 73 74 20 73 |\[igrep]| first s|
|000007b0| 61 76 65 73 20 65 61 63 | 68 20 6d 6f 64 69 66 69 |aves eac|h modifi|
|000007c0| 65 64 20 66 69 6c 65 20 | 62 75 66 66 65 72 3b 5c |ed file |buffer;\|
|000007d0| 6e 69 66 20 6e 6f 74 20 | 74 20 62 75 74 20 6e 6f |nif not |t but no|
|000007e0| 6e 2d 6e 69 6c 2c 20 5c | 5c 5b 69 67 72 65 70 5d |n-nil, \|\[igrep]|
|000007f0| 20 6f 66 66 65 72 73 20 | 74 6f 20 73 61 76 65 20 | offers |to save |
|00000800| 65 61 63 68 20 6d 6f 64 | 69 66 69 65 64 20 66 69 |each mod|ified fi|
|00000810| 6c 65 20 62 75 66 66 65 | 72 2e 22 20 3a 74 79 70 |le buffe|r." :typ|
|00000820| 65 20 27 28 63 68 6f 69 | 63 65 20 28 63 6f 6e 73 |e '(choi|ce (cons|
|00000830| 74 20 3a 74 61 67 20 22 | 53 61 76 65 22 20 74 29 |t :tag "|Save" t)|
|00000840| 20 28 63 6f 6e 73 74 20 | 3a 74 61 67 20 22 44 6f | (const |:tag "Do|
|00000850| 6e 74 20 53 61 76 65 22 | 20 6e 69 6c 29 20 28 63 |nt Save"| nil) (c|
|00000860| 6f 6e 73 74 20 3a 74 61 | 67 20 22 51 75 65 72 79 |onst :ta|g "Query|
|00000870| 22 20 71 75 65 72 79 29 | 29 20 3a 67 72 6f 75 70 |" query)|) :group|
|00000880| 20 27 69 67 72 65 70 29 | 0a 23 40 31 32 33 20 41 | 'igrep)|.#@123 A|
|00000890| 6e 20 6f 62 61 72 72 61 | 79 20 6f 66 20 61 76 61 |n obarra|y of ava|
|000008a0| 69 6c 61 62 6c 65 20 60 | 67 72 65 70 60 20 70 72 |ilable `|grep` pr|
|000008b0| 6f 67 72 61 6d 73 2c 20 | 70 61 73 73 65 64 20 62 |ograms, |passed b|
|000008c0| 79 20 60 69 67 72 65 70 | 2d 72 65 61 64 2d 70 72 |y `igrep|-read-pr|
|000008d0| 6f 67 72 61 6d 27 0a 74 | 6f 20 60 63 6f 6d 70 6c |ogram'.t|o `compl|
|000008e0| 65 74 69 6e 67 2d 72 65 | 61 64 27 20 77 68 65 6e |eting-re|ad' when|
|000008f0| 20 60 69 67 72 65 70 2d | 70 72 6f 67 72 61 6d 27 | `igrep-|program'|
|00000900| 20 69 73 20 6e 69 6c 2e | 1f 0a 28 64 65 66 76 61 | is nil.|..(defva|
|00000910| 72 20 69 67 72 65 70 2d | 70 72 6f 67 72 61 6d 2d |r igrep-|program-|
|00000920| 74 61 62 6c 65 20 28 62 | 79 74 65 2d 63 6f 64 65 |table (b|yte-code|
|00000930| 20 22 08 c1 c2 c3 5c 22 | 1c 89 1d ab c6 0d 40 ab | "....\"|......@.|
|00000940| bc c6 0d 40 21 ab b6 c7 | 0d 40 c8 c9 23 89 1e 5c |...@!...|.@..#..\|
|00000950| 6e ab aa cb 20 1e 0c cd | 8e ce cf 0e 5c 6e 40 5c |n... ...|....\n@\|
|00000960| 22 2a ab 8c d0 0e 5c 6e | 40 c3 d1 4f 0c 5c 22 88 |"*....\n|@..O.\".|
|00000970| aa 87 d0 0e 5c 6e 40 0c | 5c 22 88 0e 5c 6e 41 89 |....\n@.|\"..\nA.|
|00000980| 16 5c 6e ac 56 29 0d 41 | 89 15 ac 3a 0c 2a 87 22 |.\n.V).A|...:.*."|
|00000990| 20 5b 65 78 65 63 2d 70 | 61 74 68 20 6d 61 6b 65 | [exec-p|ath make|
|000009a0| 2d 76 65 63 74 6f 72 20 | 31 31 20 30 20 70 72 6f |-vector |11 0 pro|
|000009b0| 67 72 61 6d 2d 6f 62 61 | 72 72 61 79 20 65 78 65 |gram-oba|rray exe|
|000009c0| 63 2d 64 69 72 65 63 74 | 6f 72 69 65 73 20 66 69 |c-direct|ories fi|
|000009d0| 6c 65 2d 64 69 72 65 63 | 74 6f 72 79 2d 70 20 64 |le-direc|tory-p d|
|000009e0| 69 72 65 63 74 6f 72 79 | 2d 66 69 6c 65 73 20 6e |irectory|-files n|
|000009f0| 69 6c 20 22 67 72 65 70 | 5c 5c 28 5c 5c 2e 65 78 |il "grep|\\(\\.ex|
|00000a00| 65 5c 5c 29 3f 5c 5c 27 | 22 20 67 72 65 70 2d 70 |e\\)?\\'|" grep-p|
|00000a10| 72 6f 67 72 61 6d 73 20 | 6d 61 74 63 68 2d 64 61 |rograms |match-da|
|00000a20| 74 61 20 6d 61 74 63 68 | 2d 64 61 74 61 20 28 28 |ta match|-data ((|
|00000a30| 73 74 6f 72 65 2d 6d 61 | 74 63 68 2d 64 61 74 61 |store-ma|tch-data|
|00000a40| 20 6d 61 74 63 68 2d 64 | 61 74 61 29 29 20 73 74 | match-d|ata)) st|
|00000a50| 72 69 6e 67 2d 6d 61 74 | 63 68 20 22 5c 5c 2e 65 |ring-mat|ch "\\.e|
|00000a60| 78 65 5c 5c 27 22 20 69 | 6e 74 65 72 6e 20 2d 34 |xe\\'" i|ntern -4|
|00000a70| 5d 20 35 29 20 28 23 24 | 20 2e 20 32 31 39 31 29 |] 5) (#$| . 2191)|
|00000a80| 29 0a 23 40 31 39 34 20 | 49 66 20 74 2c 20 5c 5b |).#@194 |If t, \[|
|00000a90| 69 67 72 65 70 5d 20 73 | 65 61 72 63 68 65 73 20 |igrep] s|earches |
|00000aa0| 66 69 6c 65 73 20 75 73 | 69 6e 67 20 74 68 65 20 |files us|ing the |
|00000ab0| 47 4e 55 20 28 67 7a 69 | 70 29 20 60 7a 50 52 4f |GNU (gzi|p) `zPRO|
|00000ac0| 47 52 41 4d 60 20 73 63 | 72 69 70 74 3b 0a 49 66 |GRAM` sc|ript;.If|
|00000ad0| 20 6e 6f 74 20 74 20 62 | 75 74 20 6e 6f 6e 2d 6e | not t b|ut non-n|
|00000ae0| 69 6c 2c 20 5c 5b 69 67 | 72 65 70 5d 20 73 65 61 |il, \[ig|rep] sea|
|00000af0| 72 63 68 65 73 20 63 6f | 6d 70 72 65 73 73 65 64 |rches co|mpressed|
|00000b00| 20 46 49 4c 45 53 20 75 | 73 69 6e 67 20 60 7a 50 | FILES u|sing `zP|
|00000b10| 52 4f 47 52 41 4d 60 3b | 0a 69 66 20 6e 69 6c 2c |ROGRAM`;|.if nil,|
|00000b20| 20 5c 5b 69 67 72 65 70 | 5d 20 73 65 61 72 63 68 | \[igrep|] search|
|00000b30| 65 73 20 66 69 6c 65 73 | 20 77 69 74 68 20 60 50 |es files| with `P|
|00000b40| 52 4f 47 52 41 4d 60 2e | 1f 0a 28 64 65 66 76 61 |ROGRAM`.|..(defva|
|00000b50| 72 20 69 67 72 65 70 2d | 75 73 65 2d 7a 67 72 65 |r igrep-|use-zgre|
|00000b60| 70 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c0 c1 |p (byte-|code "..|
|00000b70| 5c 6e 5c 22 ad 81 c3 87 | 22 20 5b 69 6e 74 65 72 |\n\"....|" [inter|
|00000b80| 6e 2d 73 6f 66 74 20 22 | 7a 67 72 65 70 22 20 69 |n-soft "|zgrep" i|
|00000b90| 67 72 65 70 2d 70 72 6f | 67 72 61 6d 2d 74 61 62 |grep-pro|gram-tab|
|00000ba0| 6c 65 20 66 69 6c 65 73 | 5d 20 33 29 20 28 23 24 |le files|] 3) (#$|
|00000bb0| 20 2e 20 32 36 39 36 29 | 29 0a 23 40 31 38 31 20 | . 2696)|).#@181 |
|00000bc0| 54 68 65 20 64 65 66 61 | 75 6c 74 20 73 68 65 6c |The defa|ult shel|
|00000bd0| 6c 20 70 72 6f 67 72 61 | 6d 20 72 75 6e 20 62 79 |l progra|m run by|
|00000be0| 20 5c 5b 69 67 72 65 70 | 5d 20 61 6e 64 20 5c 5b | \[igrep|] and \[|
|00000bf0| 69 67 72 65 70 2d 66 69 | 6e 64 5d 2e 0a 49 74 20 |igrep-fi|nd]..It |
|00000c00| 6d 75 73 74 20 74 61 6b | 65 20 61 20 60 67 72 65 |must tak|e a `gre|
|00000c10| 70 60 20 65 78 70 72 65 | 73 73 69 6f 6e 20 61 72 |p` expre|ssion ar|
|00000c20| 67 75 6d 65 6e 74 20 61 | 6e 64 20 6f 6e 65 20 6f |gument a|nd one o|
|00000c30| 72 20 6d 6f 72 65 20 66 | 69 6c 65 20 6e 61 6d 65 |r more f|ile name|
|00000c40| 73 2e 0a 49 66 20 6e 69 | 6c 2c 20 5c 5b 69 67 72 |s..If ni|l, \[igr|
|00000c50| 65 70 5d 20 70 72 6f 6d | 70 74 73 20 66 6f 72 20 |ep] prom|pts for |
|00000c60| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 74 6f 20 72 |the prog|ram to r|
|00000c70| 75 6e 2e 1f 0a 28 64 65 | 66 76 61 72 20 69 67 72 |un...(de|fvar igr|
|00000c80| 65 70 2d 70 72 6f 67 72 | 61 6d 20 22 67 72 65 70 |ep-progr|am "grep|
|00000c90| 22 20 28 23 24 20 2e 20 | 33 30 30 38 29 29 0a 23 |" (#$ . |3008)).#|
|00000ca0| 40 31 31 33 20 54 68 65 | 20 63 68 61 72 61 63 74 |@113 The| charact|
|00000cb0| 65 72 20 75 73 65 64 20 | 74 6f 20 64 65 6c 69 6d |er used |to delim|
|00000cc0| 69 74 20 74 68 65 20 45 | 58 50 52 45 53 53 49 4f |it the E|XPRESSIO|
|00000cd0| 4e 20 61 72 67 75 6d 65 | 6e 74 20 74 6f 20 5c 5b |N argume|nt to \[|
|00000ce0| 69 67 72 65 70 5d 2c 0a | 74 6f 20 70 72 6f 74 65 |igrep],.|to prote|
|00000cf0| 63 74 20 69 74 20 66 72 | 6f 6d 20 73 68 65 6c 6c |ct it fr|om shell|
|00000d00| 20 66 69 6c 65 6e 61 6d | 65 20 65 78 70 61 6e 73 | filenam|e expans|
|00000d10| 69 6f 6e 2e 1f 0a 28 64 | 65 66 76 61 72 20 69 67 |ion...(d|efvar ig|
|00000d20| 72 65 70 2d 65 78 70 72 | 65 73 73 69 6f 6e 2d 71 |rep-expr|ession-q|
|00000d30| 75 6f 74 65 2d 63 68 61 | 72 20 28 62 79 74 65 2d |uote-cha|r (byte-|
|00000d40| 63 6f 64 65 20 22 08 c1 | 73 ab 82 c2 87 c3 87 22 |code "..|s......"|
|00000d50| 20 5b 73 79 73 74 65 6d | 2d 74 79 70 65 20 28 6d | [system|-type (m|
|00000d60| 73 2d 64 6f 73 20 77 69 | 6e 64 6f 77 73 2d 39 35 |s-dos wi|ndows-95|
|00000d70| 20 77 69 6e 64 6f 77 73 | 2d 6e 74 20 65 6d 78 29 | windows|-nt emx)|
|00000d80| 20 3f 5c 22 20 3f 5c 27 | 5d 20 32 29 20 28 23 24 | ?\" ?\'|] 2) (#$|
|00000d90| 20 2e 20 33 32 33 37 29 | 29 0a 23 40 31 32 37 20 | . 3237)|).#@127 |
|00000da0| 49 66 20 6e 6f 6e 2d 6e | 69 6c 2c 20 74 68 65 20 |If non-n|il, the |
|00000db0| 6f 70 74 69 6f 6e 20 75 | 73 65 64 20 74 6f 20 73 |option u|sed to s|
|00000dc0| 70 65 63 69 66 79 20 74 | 68 65 20 45 58 50 52 45 |pecify t|he EXPRE|
|00000dd0| 53 53 49 4f 4e 20 61 72 | 67 75 6d 65 6e 74 20 74 |SSION ar|gument t|
|00000de0| 6f 20 5c 5b 69 67 72 65 | 70 5d 2c 0a 74 6f 20 70 |o \[igre|p],.to p|
|00000df0| 72 6f 74 65 63 74 20 61 | 6e 20 69 6e 69 74 69 61 |rotect a|n initia|
|00000e00| 6c 20 60 2d 27 20 66 72 | 6f 6d 20 6f 70 74 69 6f |l `-' fr|om optio|
|00000e10| 6e 20 70 72 6f 63 65 73 | 73 69 6e 67 2e 1f 0a 28 |n proces|sing...(|
|00000e20| 64 65 66 76 61 72 20 69 | 67 72 65 70 2d 65 78 70 |defvar i|grep-exp|
|00000e30| 72 65 73 73 69 6f 6e 2d | 6f 70 74 69 6f 6e 20 28 |ression-|option (|
|00000e40| 62 79 74 65 2d 63 6f 64 | 65 20 22 08 c1 61 ac 8d |byte-cod|e "..a..|
|00000e50| c2 20 1b c4 8e c5 c6 0e | 07 5c 22 2a ad 81 c8 87 |. ......|.\"*....|
|00000e60| 22 20 5b 73 79 73 74 65 | 6d 2d 74 79 70 65 20 62 |" [syste|m-type b|
|00000e70| 65 72 6b 65 6c 65 79 2d | 75 6e 69 78 20 6d 61 74 |erkeley-|unix mat|
|00000e80| 63 68 2d 64 61 74 61 20 | 6d 61 74 63 68 2d 64 61 |ch-data |match-da|
|00000e90| 74 61 20 28 28 73 74 6f | 72 65 2d 6d 61 74 63 68 |ta ((sto|re-match|
|00000ea0| 2d 64 61 74 61 20 6d 61 | 74 63 68 2d 64 61 74 61 |-data ma|tch-data|
|00000eb0| 29 29 20 73 74 72 69 6e | 67 2d 6d 61 74 63 68 20 |)) strin|g-match |
|00000ec0| 22 2d 73 63 6f 22 20 73 | 79 73 74 65 6d 2d 63 6f |"-sco" s|ystem-co|
|00000ed0| 6e 66 69 67 75 72 61 74 | 69 6f 6e 20 22 2d 65 22 |nfigurat|ion "-e"|
|00000ee0| 5d 20 33 29 20 28 23 24 | 20 2e 20 33 34 38 38 29 |] 3) (#$| . 3488)|
|00000ef0| 29 0a 23 40 31 31 30 20 | 49 66 20 6e 6f 6e 2d 6e |).#@110 |If non-n|
|00000f00| 69 6c 2c 20 74 68 65 20 | 63 68 61 72 61 63 74 65 |il, the |characte|
|00000f10| 72 20 75 73 65 64 20 62 | 79 20 5c 5b 69 67 72 65 |r used b|y \[igre|
|00000f20| 70 5d 20 74 6f 20 65 73 | 63 61 70 65 20 70 61 72 |p] to es|cape par|
|00000f30| 65 6e 74 68 65 73 65 73 | 2c 0a 74 6f 20 70 72 6f |entheses|,.to pro|
|00000f40| 74 65 63 74 20 74 68 65 | 6d 20 66 72 6f 6d 20 73 |tect the|m from s|
|00000f50| 68 65 6c 6c 20 69 6e 74 | 65 72 70 72 65 74 61 74 |hell int|erpretat|
|00000f60| 69 6f 6e 2e 1f 0a 28 64 | 65 66 76 61 72 20 69 67 |ion...(d|efvar ig|
|00000f70| 72 65 70 2d 70 61 72 65 | 6e 74 68 65 73 69 73 2d |rep-pare|nthesis-|
|00000f80| 65 73 63 61 70 65 2d 63 | 68 61 72 20 28 62 79 74 |escape-c|har (byt|
|00000f90| 65 2d 63 6f 64 65 20 22 | 08 c1 73 3f ad 81 c2 87 |e-code "|..s?....|
|00000fa0| 22 20 5b 73 79 73 74 65 | 6d 2d 74 79 70 65 20 28 |" [syste|m-type (|
|00000fb0| 6d 73 2d 64 6f 73 20 77 | 69 6e 64 6f 77 73 2d 39 |ms-dos w|indows-9|
|00000fc0| 35 20 77 69 6e 64 6f 77 | 73 2d 6e 74 20 65 6d 78 |5 window|s-nt emx|
|00000fd0| 29 20 3f 5c 5c 5d 20 32 | 29 20 28 23 24 20 2e 20 |) ?\\] 2|) (#$ . |
|00000fe0| 33 38 33 32 29 29 0a 23 | 40 37 36 20 49 66 20 6e |3832)).#|@76 If n|
|00000ff0| 6f 6e 2d 6e 69 6c 2c 20 | 5c 5b 69 67 72 65 70 5d |on-nil, |\[igrep]|
|00001000| 20 73 65 61 72 63 68 65 | 73 20 64 69 72 65 63 74 | searche|s direct|
|00001010| 6f 72 69 65 73 20 75 73 | 69 6e 67 20 60 66 69 6e |ories us|ing `fin|
|00001020| 64 60 2e 0a 53 65 65 20 | 5c 5b 69 67 72 65 70 2d |d`..See |\[igrep-|
|00001030| 66 69 6e 64 5d 2e 1f 0a | 28 64 65 66 76 61 72 20 |find]...|(defvar |
|00001040| 69 67 72 65 70 2d 66 69 | 6e 64 20 6e 69 6c 20 28 |igrep-fi|nd nil (|
|00001050| 23 24 20 2e 20 34 30 37 | 36 29 29 0a 23 40 37 33 |#$ . 407|6)).#@73|
|00001060| 20 54 68 65 20 60 66 69 | 6e 64 60 20 63 6c 61 75 | The `fi|nd` clau|
|00001070| 73 65 20 75 73 65 64 20 | 74 6f 20 70 72 75 6e 65 |se used |to prune|
|00001080| 20 64 69 72 65 63 74 6f | 72 69 65 73 2c 20 6f 72 | directo|ries, or|
|00001090| 20 6e 69 6c 3b 0a 73 65 | 65 20 5c 5b 69 67 72 65 | nil;.se|e \[igre|
|000010a0| 70 2d 66 69 6e 64 5d 2e | 1f 0a 28 64 65 66 76 61 |p-find].|..(defva|
|000010b0| 72 20 69 67 72 65 70 2d | 66 69 6e 64 2d 70 72 75 |r igrep-|find-pru|
|000010c0| 6e 65 2d 6f 70 74 69 6f | 6e 73 20 28 62 79 74 65 |ne-optio|ns (byte|
|000010d0| 2d 63 6f 64 65 20 22 c0 | 20 19 c2 8e c3 c4 0d 5c |-code ".| ......\|
|000010e0| 22 2a 3f ad 81 c6 87 22 | 20 5b 6d 61 74 63 68 2d |"*?...."| [match-|
|000010f0| 64 61 74 61 20 6d 61 74 | 63 68 2d 64 61 74 61 20 |data mat|ch-data |
|00001100| 28 28 73 74 6f 72 65 2d | 6d 61 74 63 68 2d 64 61 |((store-|match-da|
|00001110| 74 61 20 6d 61 74 63 68 | 2d 64 61 74 61 29 29 20 |ta match|-data)) |
|00001120| 73 74 72 69 6e 67 2d 6d | 61 74 63 68 20 22 2d 73 |string-m|atch "-s|
|00001130| 63 6f 22 20 73 79 73 74 | 65 6d 2d 63 6f 6e 66 69 |co" syst|em-confi|
|00001140| 67 75 72 61 74 69 6f 6e | 20 22 2d 6e 61 6d 65 20 |guration| "-name |
|00001150| 53 43 43 53 20 2d 6f 20 | 2d 6e 61 6d 65 20 52 43 |SCCS -o |-name RC|
|00001160| 53 22 5d 20 33 29 20 28 | 23 24 20 2e 20 34 31 39 |S"] 3) (|#$ . 419|
|00001170| 33 29 29 0a 23 40 38 35 | 20 54 68 65 20 60 66 69 |3)).#@85| The `fi|
|00001180| 6e 64 60 20 63 6c 61 75 | 73 65 20 75 73 65 64 20 |nd` clau|se used |
|00001190| 74 6f 20 66 69 6c 74 65 | 72 20 66 69 6c 65 73 20 |to filte|r files |
|000011a0| 70 61 73 73 65 64 20 74 | 6f 20 60 67 72 65 70 60 |passed t|o `grep`|
|000011b0| 2c 20 6f 72 20 6e 69 6c | 3b 0a 73 65 65 20 5c 5b |, or nil|;.see \[|
|000011c0| 69 67 72 65 70 2d 66 69 | 6e 64 5d 2e 1f 0a 28 64 |igrep-fi|nd]...(d|
|000011d0| 65 66 76 61 72 20 69 67 | 72 65 70 2d 66 69 6e 64 |efvar ig|rep-find|
|000011e0| 2d 66 69 6c 65 2d 6f 70 | 74 69 6f 6e 73 20 22 2d |-file-op|tions "-|
|000011f0| 74 79 70 65 20 66 20 2d | 6f 20 2d 74 79 70 65 20 |type f -|o -type |
|00001200| 6c 22 20 28 23 24 20 2e | 20 34 34 37 33 29 29 0a |l" (#$ .| 4473)).|
|00001210| 23 40 32 32 36 20 49 66 | 20 60 67 6e 75 27 2c 20 |#@226 If| `gnu', |
|00001220| 5c 5b 69 67 72 65 70 2d | 66 69 6e 64 5d 20 65 78 |\[igrep-|find] ex|
|00001230| 65 63 75 74 65 73 0a 09 | 60 66 69 6e 64 20 2e 2e |ecutes..|`find ..|
|00001240| 2e 20 2d 70 72 69 6e 74 | 30 20 7c 20 78 61 72 67 |. -print|0 | xarg|
|00001250| 73 20 2d 30 20 2d 65 20 | 67 72 65 70 20 2e 2e 2e |s -0 -e |grep ...|
|00001260| 60 3b 0a 69 66 20 6e 6f | 74 20 60 67 6e 75 27 20 |`;.if no|t `gnu' |
|00001270| 62 75 74 20 6e 6f 6e 2d | 6e 69 6c 2c 20 5c 5b 69 |but non-|nil, \[i|
|00001280| 67 72 65 70 2d 66 69 6e | 64 5d 20 65 78 65 63 75 |grep-fin|d] execu|
|00001290| 74 65 73 0a 09 60 66 69 | 6e 64 20 2e 2e 2e 20 2d |tes..`fi|nd ... -|
|000012a0| 70 72 69 6e 74 20 7c 20 | 78 61 72 67 73 20 2d 65 |print | |xargs -e|
|000012b0| 20 67 72 65 70 20 2e 2e | 2e 60 3b 0a 69 66 20 6e | grep ..|.`;.if n|
|000012c0| 69 6c 2c 20 5c 5b 69 67 | 72 65 70 2d 66 69 6e 64 |il, \[ig|rep-find|
|000012d0| 5d 20 65 78 65 63 75 74 | 65 73 0a 09 60 66 69 6e |] execut|es..`fin|
|000012e0| 64 20 2e 2e 2e 20 2d 65 | 78 65 63 20 67 72 65 70 |d ... -e|xec grep|
|000012f0| 20 2e 2e 2e 60 2e 1f 0a | 28 64 65 66 76 61 72 20 | ...`...|(defvar |
|00001300| 69 67 72 65 70 2d 66 69 | 6e 64 2d 75 73 65 2d 78 |igrep-fi|nd-use-x|
|00001310| 61 72 67 73 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |args (by|te-code |
|00001320| 22 c0 c1 c2 89 89 c3 c4 | 21 ab 83 0c aa 81 c5 c6 |".......|!.......|
|00001330| 26 06 c7 6b ad 81 c8 87 | 22 20 5b 63 61 6c 6c 2d |&..k....|" [call-|
|00001340| 70 72 6f 63 65 73 73 20 | 22 66 69 6e 64 22 20 6e |process |"find" n|
|00001350| 69 6c 20 62 6f 75 6e 64 | 70 20 67 72 65 70 2d 6e |il bound|p grep-n|
|00001360| 75 6c 6c 2d 64 65 76 69 | 63 65 20 22 2f 64 65 76 |ull-devi|ce "/dev|
|00001370| 2f 6e 75 6c 6c 22 20 22 | 2d 70 72 69 6e 74 30 22 |/null" "|-print0"|
|00001380| 20 30 20 67 6e 75 5d 20 | 37 29 20 28 23 24 20 2e | 0 gnu] |7) (#$ .|
|00001390| 20 34 36 33 30 29 29 0a | 23 40 31 31 30 20 54 68 | 4630)).|#@110 Th|
|000013a0| 65 20 64 65 66 61 75 6c | 74 20 60 67 72 65 70 60 |e defaul|t `grep`|
|000013b0| 20 70 72 6f 67 72 61 6d | 2c 20 70 61 73 73 65 64 | program|, passed|
|000013c0| 20 62 79 20 60 69 67 72 | 65 70 2d 72 65 61 64 2d | by `igr|ep-read-|
|000013d0| 70 72 6f 67 72 61 6d 27 | 0a 74 6f 20 60 63 6f 6d |program'|.to `com|
|000013e0| 70 6c 65 74 69 6e 67 2d | 72 65 61 64 27 20 77 68 |pleting-|read' wh|
|000013f0| 65 6e 20 60 69 67 72 65 | 70 2d 70 72 6f 67 72 61 |en `igre|p-progra|
|00001400| 6d 27 20 69 73 20 6e 69 | 6c 2e 1f 0a 28 64 65 66 |m' is ni|l...(def|
|00001410| 76 61 72 20 69 67 72 65 | 70 2d 70 72 6f 67 72 61 |var igre|p-progra|
|00001420| 6d 2d 64 65 66 61 75 6c | 74 20 6e 69 6c 20 28 23 |m-defaul|t nil (#|
|00001430| 24 20 2e 20 35 30 32 32 | 29 29 0a 23 40 36 35 20 |$ . 5022|)).#@65 |
|00001440| 54 68 65 20 6d 69 6e 69 | 62 75 66 66 65 72 20 68 |The mini|buffer h|
|00001450| 69 73 74 6f 72 79 20 6c | 69 73 74 20 66 6f 72 20 |istory l|ist for |
|00001460| 5c 5b 69 67 72 65 70 5d | 27 73 20 45 58 50 52 45 |\[igrep]|'s EXPRE|
|00001470| 53 53 49 4f 4e 20 61 72 | 67 75 6d 65 6e 74 2e 1f |SSION ar|gument..|
|00001480| 0a 28 64 65 66 76 61 72 | 20 69 67 72 65 70 2d 65 |.(defvar| igrep-e|
|00001490| 78 70 72 65 73 73 69 6f | 6e 2d 68 69 73 74 6f 72 |xpressio|n-histor|
|000014a0| 79 20 6e 69 6c 20 28 23 | 24 20 2e 20 35 31 38 34 |y nil (#|$ . 5184|
|000014b0| 29 29 0a 23 40 36 30 20 | 54 68 65 20 6d 69 6e 69 |)).#@60 |The mini|
|000014c0| 62 75 66 66 65 72 20 68 | 69 73 74 6f 72 79 20 6c |buffer h|istory l|
|000014d0| 69 73 74 20 66 6f 72 20 | 5c 5b 69 67 72 65 70 5d |ist for |\[igrep]|
|000014e0| 27 73 20 46 49 4c 45 53 | 20 61 72 67 75 6d 65 6e |'s FILES| argumen|
|000014f0| 74 2e 1f 0a 28 64 65 66 | 76 61 72 20 69 67 72 65 |t...(def|var igre|
|00001500| 70 2d 66 69 6c 65 73 2d | 68 69 73 74 6f 72 79 20 |p-files-|history |
|00001510| 6e 69 6c 20 28 23 24 20 | 2e 20 35 33 30 34 29 29 |nil (#$ |. 5304))|
|00001520| 0a 23 40 34 34 20 52 65 | 70 6c 61 63 65 20 74 68 |.#@44 Re|place th|
|00001530| 65 20 60 67 72 65 70 27 | 20 66 75 6e 63 74 69 6f |e `grep'| functio|
|00001540| 6e 73 20 77 69 74 68 20 | 60 69 67 72 65 70 27 2e |ns with |`igrep'.|
|00001550| 1f 0a 28 64 65 66 61 6c | 69 61 73 20 27 69 67 72 |..(defal|ias 'igr|
|00001560| 65 70 2d 69 6e 73 69 6e | 75 61 74 65 20 23 5b 6e |ep-insin|uate #[n|
|00001570| 69 6c 20 22 c0 c1 c2 c3 | c4 24 88 c5 c1 c6 5c 22 |il "....|.$....\"|
|00001580| 88 c7 c8 c9 5c 22 88 c7 | ca cb 5c 22 88 c7 cc cd |....\"..|..\"....|
|00001590| 5c 22 87 22 20 5b 61 64 | 2d 61 64 64 2d 61 64 76 |\"." [ad|-add-adv|
|000015a0| 69 63 65 20 67 72 65 70 | 20 28 69 67 72 65 70 2d |ice grep| (igrep-|
|000015b0| 69 6e 74 65 72 66 61 63 | 65 20 6e 69 6c 20 74 20 |interfac|e nil t |
|000015c0| 28 61 64 76 69 63 65 20 | 6c 61 6d 62 64 61 20 28 |(advice |lambda (|
|000015d0| 26 72 65 73 74 20 67 72 | 65 70 2d 61 72 67 73 29 |&rest gr|ep-args)|
|000015e0| 20 22 49 66 20 63 61 6c | 6c 65 64 20 69 6e 74 65 | "If cal|led inte|
|000015f0| 72 61 63 74 69 76 65 6c | 79 2c 20 75 73 65 20 74 |ractivel|y, use t|
|00001600| 68 65 20 5c 5c 5b 69 67 | 72 65 70 5d 20 69 6e 74 |he \\[ig|rep] int|
|00001610| 65 72 66 61 63 65 20 69 | 6e 73 74 65 61 64 2c 5c |erface i|nstead,\|
|00001620| 6e 77 68 65 72 65 20 47 | 52 45 50 2d 41 52 47 53 |nwhere G|REP-ARGS|
|00001630| 20 69 73 20 28 50 52 4f | 47 52 41 4d 20 45 58 50 | is (PRO|GRAM EXP|
|00001640| 52 45 53 53 49 4f 4e 20 | 46 49 4c 45 53 20 4f 50 |RESSION |FILES OP|
|00001650| 54 49 4f 4e 53 29 3b 5c | 6e 69 66 20 63 61 6c 6c |TIONS);\|nif call|
|00001660| 65 64 20 70 72 6f 67 72 | 61 6d 6d 61 74 69 63 61 |ed progr|ammatica|
|00001670| 6c 6c 79 2c 20 47 52 45 | 50 2d 41 52 47 53 20 69 |lly, GRE|P-ARGS i|
|00001680| 73 20 73 74 69 6c 6c 20 | 28 43 4f 4d 4d 41 4e 44 |s still |(COMMAND|
|00001690| 29 2e 22 20 28 69 6e 74 | 65 72 61 63 74 69 76 65 |)." (int|eractive|
|000016a0| 20 28 69 67 72 65 70 2d | 72 65 61 64 2d 61 72 67 | (igrep-|read-arg|
|000016b0| 73 29 29 20 28 69 66 20 | 28 69 6e 74 65 72 61 63 |s)) (if |(interac|
|000016c0| 74 69 76 65 2d 70 29 20 | 28 61 70 70 6c 79 20 28 |tive-p) |(apply (|
|000016d0| 66 75 6e 63 74 69 6f 6e | 20 69 67 72 65 70 29 20 |function| igrep) |
|000016e0| 67 72 65 70 2d 61 72 67 | 73 29 20 61 64 2d 64 6f |grep-arg|s) ad-do|
|000016f0| 2d 69 74 29 29 29 20 61 | 72 6f 75 6e 64 20 66 69 |-it))) a|round fi|
|00001700| 72 73 74 20 61 64 2d 61 | 63 74 69 76 61 74 65 2d |rst ad-a|ctivate-|
|00001710| 6f 6e 20 6e 69 6c 20 64 | 65 66 61 6c 69 61 73 20 |on nil d|efalias |
|00001720| 67 72 65 70 2d 66 69 6e | 64 20 69 67 72 65 70 2d |grep-fin|d igrep-|
|00001730| 66 69 6e 64 20 64 69 72 | 65 64 2d 64 6f 2d 67 72 |find dir|ed-do-gr|
|00001740| 65 70 20 64 69 72 65 64 | 2d 64 6f 2d 69 67 72 65 |ep dired|-do-igre|
|00001750| 70 20 64 69 72 65 64 2d | 64 6f 2d 67 72 65 70 2d |p dired-|do-grep-|
|00001760| 66 69 6e 64 20 64 69 72 | 65 64 2d 64 6f 2d 69 67 |find dir|ed-do-ig|
|00001770| 72 65 70 2d 66 69 6e 64 | 5d 20 35 20 28 23 24 20 |rep-find|] 5 (#$ |
|00001780| 2e 20 35 34 31 34 29 5d | 29 0a 28 62 79 74 65 2d |. 5414)]|).(byte-|
|00001790| 63 6f 64 65 20 22 c0 09 | 42 11 c0 87 22 20 5b 77 |code "..|B..." [w|
|000017a0| 69 6e 33 32 2d 71 75 6f | 74 65 2d 70 72 6f 63 65 |in32-quo|te-proce|
|000017b0| 73 73 2d 61 72 67 73 20 | 63 75 72 72 65 6e 74 2d |ss-args |current-|
|000017c0| 6c 6f 61 64 2d 6c 69 73 | 74 5d 20 32 29 0a 23 40 |load-lis|t] 2).#@|
|000017d0| 31 33 32 37 20 2a 52 75 | 6e 20 60 67 72 65 70 60 |1327 *Ru|n `grep`|
|000017e0| 20 50 52 4f 47 52 41 4d | 20 74 6f 20 6d 61 74 63 | PROGRAM| to matc|
|000017f0| 68 20 45 58 50 52 45 53 | 53 49 4f 4e 20 69 6e 20 |h EXPRES|SION in |
|00001800| 46 49 4c 45 53 2e 0a 54 | 68 65 20 6f 75 74 70 75 |FILES..T|he outpu|
|00001810| 74 20 69 73 20 64 69 73 | 70 6c 61 79 65 64 20 69 |t is dis|played i|
|00001820| 6e 20 74 68 65 20 2a 69 | 67 72 65 70 2a 20 62 75 |n the *i|grep* bu|
|00001830| 66 66 65 72 2c 20 77 68 | 69 63 68 20 5c 5b 6e 65 |ffer, wh|ich \[ne|
|00001840| 78 74 2d 65 72 72 6f 72 | 5d 20 61 6e 64 0a 5c 5b |xt-error|] and.\[|
|00001850| 63 6f 6d 70 69 6c 65 2d | 67 6f 74 6f 2d 65 72 72 |compile-|goto-err|
|00001860| 6f 72 5d 20 70 61 72 73 | 65 20 74 6f 20 66 69 6e |or] pars|e to fin|
|00001870| 64 20 65 61 63 68 20 6c | 69 6e 65 20 6f 66 20 6d |d each l|ine of m|
|00001880| 61 74 63 68 65 64 20 74 | 65 78 74 2e 0a 0a 50 52 |atched t|ext...PR|
|00001890| 4f 47 52 41 4d 20 6d 61 | 79 20 62 65 20 6e 69 6c |OGRAM ma|y be nil|
|000018a0| 2c 20 69 6e 20 77 68 69 | 63 68 20 63 61 73 65 20 |, in whi|ch case |
|000018b0| 69 74 20 64 65 66 61 75 | 6c 74 73 20 74 6f 20 60 |it defau|lts to `|
|000018c0| 69 67 72 65 70 2d 70 72 | 6f 67 72 61 6d 27 2e 0a |igrep-pr|ogram'..|
|000018d0| 0a 45 58 50 52 45 53 53 | 49 4f 4e 20 69 73 20 61 |.EXPRESS|ION is a|
|000018e0| 75 74 6f 6d 61 74 69 63 | 61 6c 6c 79 20 64 65 6c |utomatic|ally del|
|000018f0| 69 6d 69 74 65 64 20 62 | 79 20 60 69 67 72 65 70 |imited b|y `igrep|
|00001900| 2d 65 78 70 72 65 73 73 | 69 6f 6e 2d 71 75 6f 74 |-express|ion-quot|
|00001910| 65 2d 63 68 61 72 27 2e | 0a 0a 46 49 4c 45 53 20 |e-char'.|..FILES |
|00001920| 69 73 20 65 69 74 68 65 | 72 20 61 20 66 69 6c 65 |is eithe|r a file|
|00001930| 20 6e 61 6d 65 20 70 61 | 74 74 65 72 6e 20 28 65 | name pa|ttern (e|
|00001940| 78 70 61 6e 64 65 64 20 | 62 79 20 74 68 65 20 73 |xpanded |by the s|
|00001950| 68 65 6c 6c 20 6e 61 6d | 65 64 20 62 79 0a 60 73 |hell nam|ed by.`s|
|00001960| 68 65 6c 6c 2d 66 69 6c | 65 2d 6e 61 6d 65 27 29 |hell-fil|e-name')|
|00001970| 20 6f 72 20 61 20 6c 69 | 73 74 20 6f 66 20 66 69 | or a li|st of fi|
|00001980| 6c 65 20 6e 61 6d 65 20 | 70 61 74 74 65 72 6e 73 |le name |patterns|
|00001990| 2e 0a 0a 4f 70 74 69 6f | 6e 61 6c 20 4f 50 54 49 |...Optio|nal OPTI|
|000019a0| 4f 4e 53 20 69 73 20 61 | 6c 73 6f 20 70 61 73 73 |ONS is a|lso pass|
|000019b0| 65 64 20 74 6f 20 50 52 | 4f 47 52 41 4d 3b 20 69 |ed to PR|OGRAM; i|
|000019c0| 74 20 64 65 66 61 75 6c | 74 73 20 74 6f 20 60 69 |t defaul|ts to `i|
|000019d0| 67 72 65 70 2d 6f 70 74 | 69 6f 6e 73 27 2e 0a 0a |grep-opt|ions'...|
|000019e0| 49 66 20 61 20 70 72 65 | 66 69 78 20 61 72 67 75 |If a pre|fix argu|
|000019f0| 6d 65 6e 74 20 28 5c 5b | 75 6e 69 76 65 72 73 61 |ment (\[|universa|
|00001a00| 6c 2d 61 72 67 75 6d 65 | 6e 74 5d 29 20 69 73 20 |l-argume|nt]) is |
|00001a10| 67 69 76 65 6e 20 77 68 | 65 6e 20 63 61 6c 6c 65 |given wh|en calle|
|00001a20| 64 20 69 6e 74 65 72 61 | 63 74 69 76 65 6c 79 2c |d intera|ctively,|
|00001a30| 0a 6f 72 20 69 66 20 60 | 69 67 72 65 70 2d 72 65 |.or if `|igrep-re|
|00001a40| 61 64 2d 6f 70 74 69 6f | 6e 73 27 20 69 73 20 73 |ad-optio|ns' is s|
|00001a50| 65 74 2c 20 4f 50 54 49 | 4f 4e 53 20 69 73 20 72 |et, OPTI|ONS is r|
|00001a60| 65 61 64 20 66 72 6f 6d | 20 74 68 65 20 6d 69 6e |ead from| the min|
|00001a70| 69 62 75 66 66 65 72 2e | 0a 0a 49 66 20 74 77 6f |ibuffer.|..If two|
|00001a80| 20 70 72 65 66 69 78 20 | 61 72 67 75 6d 65 6e 74 | prefix |argument|
|00001a90| 73 20 28 5c 5b 75 6e 69 | 76 65 72 73 61 6c 2d 61 |s (\[uni|versal-a|
|00001aa0| 72 67 75 6d 65 6e 74 5d | 20 5c 5b 75 6e 69 76 65 |rgument]| \[unive|
|00001ab0| 72 73 61 6c 2d 61 72 67 | 75 6d 65 6e 74 5d 29 20 |rsal-arg|ument]) |
|00001ac0| 61 72 65 20 67 69 76 65 | 6e 20 77 68 65 6e 20 63 |are give|n when c|
|00001ad0| 61 6c 6c 65 64 20 69 6e | 74 65 72 61 63 74 69 76 |alled in|teractiv|
|00001ae0| 65 6c 79 2c 0a 6f 72 20 | 69 66 20 60 69 67 72 65 |ely,.or |if `igre|
|00001af0| 70 2d 72 65 61 64 2d 6d | 75 6c 74 69 70 6c 65 2d |p-read-m|ultiple-|
|00001b00| 66 69 6c 65 73 27 20 69 | 73 20 73 65 74 2c 20 46 |files' i|s set, F|
|00001b10| 49 4c 45 53 20 69 73 20 | 72 65 61 64 20 66 72 6f |ILES is |read fro|
|00001b20| 6d 20 74 68 65 20 6d 69 | 6e 69 62 75 66 66 65 72 |m the mi|nibuffer|
|00001b30| 0a 6d 75 6c 74 69 70 6c | 65 20 74 69 6d 65 73 2e |.multipl|e times.|
|00001b40| 0a 0a 49 66 20 74 68 72 | 65 65 20 70 72 65 66 69 |..If thr|ee prefi|
|00001b50| 78 20 61 72 67 75 6d 65 | 6e 74 73 20 28 5c 5b 75 |x argume|nts (\[u|
|00001b60| 6e 69 76 65 72 73 61 6c | 2d 61 72 67 75 6d 65 6e |niversal|-argumen|
|00001b70| 74 5d 20 5c 5b 75 6e 69 | 76 65 72 73 61 6c 2d 61 |t] \[uni|versal-a|
|00001b80| 72 67 75 6d 65 6e 74 5d | 20 5c 5b 75 6e 69 76 65 |rgument]| \[unive|
|00001b90| 72 73 61 6c 2d 61 72 67 | 75 6d 65 6e 74 5d 29 20 |rsal-arg|ument]) |
|00001ba0| 61 72 65 20 67 69 76 65 | 6e 20 77 68 65 6e 20 63 |are give|n when c|
|00001bb0| 61 6c 6c 65 64 20 69 6e | 74 65 72 61 63 74 69 76 |alled in|teractiv|
|00001bc0| 65 6c 79 2c 0a 6f 72 20 | 69 66 20 60 69 67 72 65 |ely,.or |if `igre|
|00001bd0| 70 2d 72 65 61 64 2d 6f | 70 74 69 6f 6e 73 27 20 |p-read-o|ptions' |
|00001be0| 61 6e 64 20 60 69 67 72 | 65 70 2d 72 65 61 64 2d |and `igr|ep-read-|
|00001bf0| 6d 75 6c 74 69 70 6c 65 | 2d 66 69 6c 65 73 27 20 |multiple|-files' |
|00001c00| 61 72 65 20 73 65 74 2c | 0a 4f 50 54 49 4f 4e 53 |are set,|.OPTIONS|
|00001c10| 20 69 73 20 72 65 61 64 | 20 61 6e 64 20 46 49 4c | is read| and FIL|
|00001c20| 45 53 20 69 73 20 72 65 | 61 64 20 6d 75 6c 74 69 |ES is re|ad multi|
|00001c30| 70 6c 65 20 74 69 6d 65 | 73 2e 0a 0a 49 66 20 60 |ple time|s...If `|
|00001c40| 69 67 72 65 70 2d 66 69 | 6e 64 27 20 69 73 20 6e |igrep-fi|nd' is n|
|00001c50| 6f 6e 2d 6e 69 6c 2c 20 | 74 68 65 20 64 69 72 65 |on-nil, |the dire|
|00001c60| 63 74 6f 72 79 20 6f 72 | 20 64 69 72 65 63 74 6f |ctory or| directo|
|00001c70| 72 69 65 73 0a 63 6f 6e | 74 61 69 6e 69 6e 67 20 |ries.con|taining |
|00001c80| 46 49 4c 45 53 20 69 73 | 20 72 65 63 75 72 73 69 |FILES is| recursi|
|00001c90| 76 65 6c 79 20 73 65 61 | 72 63 68 65 64 20 66 6f |vely sea|rched fo|
|00001ca0| 72 20 66 69 6c 65 73 20 | 77 68 6f 73 65 20 6e 61 |r files |whose na|
|00001cb0| 6d 65 20 6d 61 74 63 68 | 65 73 0a 74 68 65 20 66 |me match|es.the f|
|00001cc0| 69 6c 65 20 6e 61 6d 65 | 20 63 6f 6d 70 6f 6e 65 |ile name| compone|
|00001cd0| 6e 74 20 6f 66 20 46 49 | 4c 45 53 20 28 61 6e 64 |nt of FI|LES (and|
|00001ce0| 20 77 68 6f 73 65 20 63 | 6f 6e 74 65 6e 74 73 20 | whose c|ontents |
|00001cf0| 6d 61 74 63 68 0a 45 58 | 50 52 45 53 53 49 4f 4e |match.EX|PRESSION|
|00001d00| 29 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 69 |)...(def|alias 'i|
|00001d10| 67 72 65 70 20 23 5b 28 | 70 72 6f 67 72 61 6d 20 |grep #[(|program |
|00001d20| 65 78 70 72 65 73 73 69 | 6f 6e 20 66 69 6c 65 73 |expressi|on files|
|00001d30| 20 26 6f 70 74 69 6f 6e | 61 6c 20 6f 70 74 69 6f | &option|al optio|
|00001d40| 6e 73 29 20 22 08 ac 85 | 09 ae 81 c2 10 0b ac 82 |ns) "...|........|
|00001d50| 0c 13 0d 3c ac 83 0d 43 | 15 c6 c7 c8 0e 09 21 5c |...<...C|......!\|
|00001d60| 22 ab 85 ca cb 0d 5c 22 | 15 cc 1e 0d 0e 0e cf 61 |".....\"|.......a|
|00001d70| ae ad 0e 0e ab a8 0d cc | 1e 10 89 1d ab 9b 0e 10 |........|........|
|00001d80| ac 97 d1 20 1e 12 d3 8e | c6 d4 0d 40 5c 22 2a ab |... ....|...@\"*.|
|00001d90| 83 cf 16 10 0d 41 89 15 | ac 65 0e 10 2a aa 81 cc |.....A..|.e..*...|
|00001da0| 1e 15 d6 d7 0e 15 ab 94 | d1 20 1e 18 d9 8e c6 da |........|. ......|
|00001db0| 08 5c 22 2a ac 87 db 08 | 50 89 10 aa 81 08 0b ae |.\"*....|P.......|
|00001dc0| 81 dc 0e 1d ae 95 d1 20 | 1e 1e df 8e c6 e0 0e 21 |....... |.......!|
|00001dd0| 5c 22 2a ab 86 e2 0e 21 | 50 16 21 dc 0e 23 0e 21 |\"*....!|P.!..#.!|
|00001de0| 0e 23 0e 24 ab 8a 0e 25 | ab 83 dc aa 88 e6 aa 85 |.#.$...%|........|
|00001df0| e7 e8 0d e9 23 ea eb 21 | ab 84 0e 2b aa 81 ec 26 |....#..!|...+...&|
|00001e00| 09 1e 2d 0e 24 ab 87 ee | 0e 2d 0d 5c 22 16 2d 0e |..-.$...|.-.\".-.|
|00001e10| 2f cf 61 ab 86 f0 cf 21 | 88 aa 87 0e 2f ab 83 f0 |/.a....!|..../...|
|00001e20| 20 88 f1 0e 2d d6 f2 0e | 23 08 0e 23 24 f3 cc 0e | ...-...|#..#$...|
|00001e30| 34 25 2b 87 22 20 5b 70 | 72 6f 67 72 61 6d 20 69 |4%+." [p|rogram i|
|00001e40| 67 72 65 70 2d 70 72 6f | 67 72 61 6d 20 22 67 72 |grep-pro|gram "gr|
|00001e50| 65 70 22 20 6f 70 74 69 | 6f 6e 73 20 69 67 72 65 |ep" opti|ons igre|
|00001e60| 70 2d 6f 70 74 69 6f 6e | 73 20 66 69 6c 65 73 20 |p-option|s files |
|00001e70| 73 74 72 69 6e 67 2d 6d | 61 74 63 68 20 22 5e 5b |string-m|atch "^[|
|00001e80| 72 6a 5d 3f 73 68 24 22 | 20 66 69 6c 65 2d 6e 61 |rj]?sh$"| file-na|
|00001e90| 6d 65 2d 6e 6f 6e 64 69 | 72 65 63 74 6f 72 79 20 |me-nondi|rectory |
|00001ea0| 73 68 65 6c 6c 2d 66 69 | 6c 65 2d 6e 61 6d 65 20 |shell-fi|le-name |
|00001eb0| 6d 61 70 63 61 72 20 65 | 78 70 61 6e 64 2d 66 69 |mapcar e|xpand-fi|
|00001ec0| 6c 65 2d 6e 61 6d 65 20 | 6e 69 6c 20 77 69 6e 33 |le-name |nil win3|
|00001ed0| 32 2d 71 75 6f 74 65 2d | 70 72 6f 63 65 73 73 2d |2-quote-|process-|
|00001ee0| 61 72 67 73 20 69 67 72 | 65 70 2d 75 73 65 2d 7a |args igr|ep-use-z|
|00001ef0| 67 72 65 70 20 74 20 63 | 6f 6d 70 72 65 73 73 65 |grep t c|ompresse|
|00001f00| 64 2d 70 20 6d 61 74 63 | 68 2d 64 61 74 61 20 6d |d-p matc|h-data m|
|00001f10| 61 74 63 68 2d 64 61 74 | 61 20 28 28 73 74 6f 72 |atch-dat|a ((stor|
|00001f20| 65 2d 6d 61 74 63 68 2d | 64 61 74 61 20 6d 61 74 |e-match-|data mat|
|00001f30| 63 68 2d 64 61 74 61 29 | 29 20 22 5c 5c 2e 67 3f |ch-data)|) "\\.g?|
|00001f40| 5b 7a 5a 5d 5c 5c 27 22 | 20 75 73 65 2d 7a 67 72 |[zZ]\\'"| use-zgr|
|00001f50| 65 70 20 66 6f 72 6d 61 | 74 20 22 25 73 20 2d 6e |ep forma|t "%s -n|
|00001f60| 20 25 73 20 25 73 20 25 | 63 25 73 25 63 20 25 73 | %s %s %|c%s%c %s|
|00001f70| 20 25 73 22 20 6d 61 74 | 63 68 2d 64 61 74 61 20 | %s" mat|ch-data |
|00001f80| 28 28 73 74 6f 72 65 2d | 6d 61 74 63 68 2d 64 61 |((store-|match-da|
|00001f90| 74 61 20 6d 61 74 63 68 | 2d 64 61 74 61 29 29 20 |ta match|-data)) |
|00001fa0| 22 5c 5c 60 7a 22 20 22 | 7a 22 20 22 22 20 69 67 |"\\`z" "|z" "" ig|
|00001fb0| 72 65 70 2d 65 78 70 72 | 65 73 73 69 6f 6e 2d 6f |rep-expr|ession-o|
|00001fc0| 70 74 69 6f 6e 20 6d 61 | 74 63 68 2d 64 61 74 61 |ption ma|tch-data|
|00001fd0| 20 28 28 73 74 6f 72 65 | 2d 6d 61 74 63 68 2d 64 | ((store|-match-d|
|00001fe0| 61 74 61 20 6d 61 74 63 | 68 2d 64 61 74 61 29 29 |ata matc|h-data))|
|00001ff0| 20 22 5c 5c 60 2d 22 20 | 65 78 70 72 65 73 73 69 | "\\`-" |expressi|
|00002000| 6f 6e 20 22 5c 5c 22 20 | 69 67 72 65 70 2d 65 78 |on "\\" |igrep-ex|
|00002010| 70 72 65 73 73 69 6f 6e | 2d 71 75 6f 74 65 2d 63 |pression|-quote-c|
|00002020| 68 61 72 20 69 67 72 65 | 70 2d 66 69 6e 64 20 69 |har igre|p-find i|
|00002030| 67 72 65 70 2d 66 69 6e | 64 2d 75 73 65 2d 78 61 |grep-fin|d-use-xa|
|00002040| 72 67 73 20 22 5c 22 7b | 7d 5c 22 22 20 6d 61 70 |rgs "\"{|}\"" map|
|00002050| 63 6f 6e 63 61 74 20 69 | 64 65 6e 74 69 74 79 20 |concat i|dentity |
|00002060| 22 20 22 20 62 6f 75 6e | 64 70 20 67 72 65 70 2d |" " boun|dp grep-|
|00002070| 6e 75 6c 6c 2d 64 65 76 | 69 63 65 20 22 2f 64 65 |null-dev|ice "/de|
|00002080| 76 2f 6e 75 6c 6c 22 20 | 63 6f 6d 6d 61 6e 64 20 |v/null" |command |
|00002090| 69 67 72 65 70 2d 66 6f | 72 6d 61 74 2d 66 69 6e |igrep-fo|rmat-fin|
|000020a0| 64 2d 63 6f 6d 6d 61 6e | 64 20 69 67 72 65 70 2d |d-comman|d igrep-|
|000020b0| 73 61 76 65 2d 62 75 66 | 66 65 72 73 20 73 61 76 |save-buf|fers sav|
|000020c0| 65 2d 73 6f 6d 65 2d 62 | 75 66 66 65 72 73 20 63 |e-some-b|uffers c|
|000020d0| 6f 6d 70 69 6c 65 2d 69 | 6e 74 65 72 6e 61 6c 20 |ompile-i|nternal |
|000020e0| 22 4e 6f 20 6d 6f 72 65 | 20 25 63 25 73 25 63 20 |"No more| %c%s%c |
|000020f0| 6d 61 74 63 68 65 73 22 | 20 22 69 67 72 65 70 22 |matches"| "igrep"|
|00002100| 20 67 72 65 70 2d 72 65 | 67 65 78 70 2d 61 6c 69 | grep-re|gexp-ali|
|00002110| 73 74 5d 20 31 33 20 28 | 23 24 20 2e 20 2d 36 31 |st] 13 (|#$ . -61|
|00002120| 30 31 29 20 28 69 67 72 | 65 70 2d 72 65 61 64 2d |01) (igr|ep-read-|
|00002130| 61 72 67 73 29 5d 29 0a | 23 40 31 33 37 20 44 65 |args)]).|#@137 De|
|00002140| 66 69 6e 65 20 41 4e 41 | 4c 4f 47 55 45 2d 43 4f |fine ANA|LOGUE-CO|
|00002150| 4d 4d 41 4e 44 20 61 73 | 20 61 6e 20 60 69 67 72 |MMAND as| an `igr|
|00002160| 65 70 27 20 61 6e 61 6c | 6f 67 75 65 20 63 6f 6d |ep' anal|ogue com|
|00002170| 6d 61 6e 64 2e 0a 4f 70 | 74 69 6f 6e 61 6c 20 28 |mand..Op|tional (|
|00002180| 56 41 52 49 41 42 4c 45 | 20 56 41 4c 55 45 29 20 |VARIABLE| VALUE) |
|00002190| 61 72 67 75 6d 65 6e 74 | 73 20 73 70 65 63 69 66 |argument|s specif|
|000021a0| 79 20 74 65 6d 70 6f 72 | 61 72 79 20 62 69 6e 64 |y tempor|ary bind|
|000021b0| 69 6e 67 73 20 66 6f 72 | 20 74 68 65 20 63 6f 6d |ings for| the com|
|000021c0| 6d 61 6e 64 2e 1f 0a 28 | 64 65 66 61 6c 69 61 73 |mand...(|defalias|
|000021d0| 20 27 69 67 72 65 70 2d | 64 65 66 69 6e 65 20 27 | 'igrep-|define '|
|000021e0| 28 6d 61 63 72 6f 20 2e | 20 23 5b 28 61 6e 61 6c |(macro .| #[(anal|
|000021f0| 6f 67 75 65 2d 63 6f 6d | 6d 61 6e 64 20 26 72 65 |ogue-com|mand &re|
|00002200| 73 74 20 69 67 72 65 70 | 2d 62 69 6e 64 69 6e 67 |st igrep|-binding|
|00002210| 73 29 20 22 c0 09 21 1a | c3 09 c4 c5 c6 5c 6e 5c |s) "..!.|.....\n\|
|00002220| 22 c7 c8 c9 ca c9 5c 6e | 45 44 cb 5c 6e 44 44 cc |".....\n|ED.\nDD.|
|00002230| 42 42 44 c8 0e 0d ce cf | d0 d1 d2 d3 5c 6e 44 46 |BBD.....|....\nDF|
|00002240| d4 42 42 42 45 af 06 29 | 87 22 20 5b 73 79 6d 62 |.BBBE..)|." [symb|
|00002250| 6f 6c 2d 6e 61 6d 65 20 | 61 6e 61 6c 6f 67 75 65 |ol-name |analogue|
|00002260| 2d 63 6f 6d 6d 61 6e 64 | 20 61 6e 61 6c 6f 67 75 |-command| analogu|
|00002270| 65 2d 70 72 6f 67 72 61 | 6d 20 64 65 66 75 6e 20 |e-progra|m defun |
|00002280| 28 26 72 65 73 74 20 69 | 67 72 65 70 2d 61 72 67 |(&rest i|grep-arg|
|00002290| 73 29 20 66 6f 72 6d 61 | 74 20 22 2a 52 75 6e 20 |s) forma|t "*Run |
|000022a0| 60 25 73 60 20 76 69 61 | 20 5c 5c 5b 69 67 72 65 |`%s` via| \\[igre|
|000022b0| 70 5d 2e 5c 6e 41 6c 6c | 20 61 72 67 75 6d 65 6e |p].\nAll| argumen|
|000022c0| 74 73 20 28 69 6e 63 6c | 75 64 69 6e 67 20 70 72 |ts (incl|uding pr|
|000022d0| 65 66 69 78 20 61 72 67 | 75 6d 65 6e 74 73 2c 20 |efix arg|uments, |
|000022e0| 77 68 65 6e 20 63 61 6c | 6c 65 64 20 69 6e 74 65 |when cal|led inte|
|000022f0| 72 61 63 74 69 76 65 6c | 79 29 5c 6e 61 72 65 20 |ractivel|y)\nare |
|00002300| 68 61 6e 64 6c 65 64 20 | 62 79 20 60 69 67 72 65 |handled |by `igre|
|00002310| 70 27 2e 22 20 69 6e 74 | 65 72 61 63 74 69 76 65 |p'." int|eractive|
|00002320| 20 6c 65 74 20 69 67 72 | 65 70 2d 70 72 6f 67 72 | let igr|ep-progr|
|00002330| 61 6d 20 69 66 20 69 67 | 72 65 70 2d 70 72 6f 67 |am if ig|rep-prog|
|00002340| 72 61 6d 2d 64 65 66 61 | 75 6c 74 20 28 28 69 67 |ram-defa|ult ((ig|
|00002350| 72 65 70 2d 72 65 61 64 | 2d 61 72 67 73 29 29 20 |rep-read|-args)) |
|00002360| 69 67 72 65 70 2d 62 69 | 6e 64 69 6e 67 73 20 61 |igrep-bi|ndings a|
|00002370| 70 70 6c 79 20 28 66 75 | 6e 63 74 69 6f 6e 20 69 |pply (fu|nction i|
|00002380| 67 72 65 70 29 20 63 6f | 6e 64 20 28 28 69 6e 74 |grep) co|nd ((int|
|00002390| 65 72 61 63 74 69 76 65 | 2d 70 29 20 28 63 61 72 |eractive|-p) (car|
|000023a0| 20 69 67 72 65 70 2d 61 | 72 67 73 29 29 20 28 28 | igrep-a|rgs)) ((|
|000023b0| 63 61 72 20 69 67 72 65 | 70 2d 61 72 67 73 29 29 |car igre|p-args))|
|000023c0| 20 74 20 28 28 63 64 72 | 20 69 67 72 65 70 2d 61 | t ((cdr| igrep-a|
|000023d0| 72 67 73 29 29 5d 20 31 | 34 20 28 23 24 20 2e 20 |rgs))] 1|4 (#$ . |
|000023e0| 38 35 31 30 29 5d 29 29 | 0a 23 40 31 32 32 20 2a |8510)]))|.#@122 *|
|000023f0| 52 75 6e 20 60 65 67 72 | 65 70 60 20 76 69 61 20 |Run `egr|ep` via |
|00002400| 5c 5b 69 67 72 65 70 5d | 2e 0a 41 6c 6c 20 61 72 |\[igrep]|..All ar|
|00002410| 67 75 6d 65 6e 74 73 20 | 28 69 6e 63 6c 75 64 69 |guments |(includi|
|00002420| 6e 67 20 70 72 65 66 69 | 78 20 61 72 67 75 6d 65 |ng prefi|x argume|
|00002430| 6e 74 73 2c 20 77 68 65 | 6e 20 63 61 6c 6c 65 64 |nts, whe|n called|
|00002440| 20 69 6e 74 65 72 61 63 | 74 69 76 65 6c 79 29 0a | interac|tively).|
|00002450| 61 72 65 20 68 61 6e 64 | 6c 65 64 20 62 79 20 60 |are hand|led by `|
|00002460| 69 67 72 65 70 27 2e 1f | 0a 28 64 65 66 61 6c 69 |igrep'..|.(defali|
|00002470| 61 73 20 27 65 67 72 65 | 70 20 23 5b 28 26 72 65 |as 'egre|p #[(&re|
|00002480| 73 74 20 69 67 72 65 70 | 2d 61 72 67 73 29 20 22 |st igrep|-args) "|
|00002490| c0 c1 74 ab 84 5c 6e 40 | aa 85 5c 6e 40 ae 81 c3 |..t..\n@|..\n@...|
|000024a0| 5c 6e 41 23 87 22 20 5b | 61 70 70 6c 79 20 69 67 |\nA#." [|apply ig|
|000024b0| 72 65 70 20 69 67 72 65 | 70 2d 61 72 67 73 20 22 |rep igre|p-args "|
|000024c0| 65 67 72 65 70 22 5d 20 | 34 20 28 23 24 20 2e 20 |egrep"] |4 (#$ . |
|000024d0| 2d 39 31 39 39 29 20 28 | 62 79 74 65 2d 63 6f 64 |-9199) (|byte-cod|
|000024e0| 65 20 22 08 ad 81 c1 c1 | 1a 18 c3 20 2a 87 22 20 |e ".....|... *." |
|000024f0| 5b 69 67 72 65 70 2d 70 | 72 6f 67 72 61 6d 20 22 |[igrep-p|rogram "|
|00002500| 65 67 72 65 70 22 20 69 | 67 72 65 70 2d 70 72 6f |egrep" i|grep-pro|
|00002510| 67 72 61 6d 2d 64 65 66 | 61 75 6c 74 20 69 67 72 |gram-def|ault igr|
|00002520| 65 70 2d 72 65 61 64 2d | 61 72 67 73 5d 20 32 29 |ep-read-|args] 2)|
|00002530| 5d 29 0a 23 40 31 32 32 | 20 2a 52 75 6e 20 60 66 |]).#@122| *Run `f|
|00002540| 67 72 65 70 60 20 76 69 | 61 20 5c 5b 69 67 72 65 |grep` vi|a \[igre|
|00002550| 70 5d 2e 0a 41 6c 6c 20 | 61 72 67 75 6d 65 6e 74 |p]..All |argument|
|00002560| 73 20 28 69 6e 63 6c 75 | 64 69 6e 67 20 70 72 65 |s (inclu|ding pre|
|00002570| 66 69 78 20 61 72 67 75 | 6d 65 6e 74 73 2c 20 77 |fix argu|ments, w|
|00002580| 68 65 6e 20 63 61 6c 6c | 65 64 20 69 6e 74 65 72 |hen call|ed inter|
|00002590| 61 63 74 69 76 65 6c 79 | 29 0a 61 72 65 20 68 61 |actively|).are ha|
|000025a0| 6e 64 6c 65 64 20 62 79 | 20 60 69 67 72 65 70 27 |ndled by| `igrep'|
|000025b0| 2e 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 66 67 |...(defa|lias 'fg|
|000025c0| 72 65 70 20 23 5b 28 26 | 72 65 73 74 20 69 67 72 |rep #[(&|rest igr|
|000025d0| 65 70 2d 61 72 67 73 29 | 20 22 c0 c1 74 ab 84 5c |ep-args)| "..t..\|
|000025e0| 6e 40 aa 85 5c 6e 40 ae | 81 c3 5c 6e 41 23 87 22 |n@..\n@.|..\nA#."|
|000025f0| 20 5b 61 70 70 6c 79 20 | 69 67 72 65 70 20 69 67 | [apply |igrep ig|
|00002600| 72 65 70 2d 61 72 67 73 | 20 22 66 67 72 65 70 22 |rep-args| "fgrep"|
|00002610| 5d 20 34 20 28 23 24 20 | 2e 20 2d 39 35 32 39 29 |] 4 (#$ |. -9529)|
|00002620| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 ad 81 | (byte-c|ode "...|
|00002630| c1 c1 1a 18 c3 20 2a 87 | 22 20 5b 69 67 72 65 70 |..... *.|" [igrep|
|00002640| 2d 70 72 6f 67 72 61 6d | 20 22 66 67 72 65 70 22 |-program| "fgrep"|
|00002650| 20 69 67 72 65 70 2d 70 | 72 6f 67 72 61 6d 2d 64 | igrep-p|rogram-d|
|00002660| 65 66 61 75 6c 74 20 69 | 67 72 65 70 2d 72 65 61 |efault i|grep-rea|
|00002670| 64 2d 61 72 67 73 5d 20 | 32 29 5d 29 0a 23 40 31 |d-args] |2)]).#@1|
|00002680| 32 32 20 2a 52 75 6e 20 | 60 61 67 72 65 70 60 20 |22 *Run |`agrep` |
|00002690| 76 69 61 20 5c 5b 69 67 | 72 65 70 5d 2e 0a 41 6c |via \[ig|rep]..Al|
|000026a0| 6c 20 61 72 67 75 6d 65 | 6e 74 73 20 28 69 6e 63 |l argume|nts (inc|
|000026b0| 6c 75 64 69 6e 67 20 70 | 72 65 66 69 78 20 61 72 |luding p|refix ar|
|000026c0| 67 75 6d 65 6e 74 73 2c | 20 77 68 65 6e 20 63 61 |guments,| when ca|
|000026d0| 6c 6c 65 64 20 69 6e 74 | 65 72 61 63 74 69 76 65 |lled int|eractive|
|000026e0| 6c 79 29 0a 61 72 65 20 | 68 61 6e 64 6c 65 64 20 |ly).are |handled |
|000026f0| 62 79 20 60 69 67 72 65 | 70 27 2e 1f 0a 28 64 65 |by `igre|p'...(de|
|00002700| 66 61 6c 69 61 73 20 27 | 61 67 72 65 70 20 23 5b |falias '|agrep #[|
|00002710| 28 26 72 65 73 74 20 69 | 67 72 65 70 2d 61 72 67 |(&rest i|grep-arg|
|00002720| 73 29 20 22 c0 c1 1a 1b | c4 c5 74 ab 85 0e 06 40 |s) "....|..t....@|
|00002730| aa 86 0e 06 40 ae 81 c7 | 0e 06 41 23 2a 87 22 20 |....@...|..A#*." |
|00002740| 5b 6e 69 6c 20 22 2d 65 | 22 20 69 67 72 65 70 2d |[nil "-e|" igrep-|
|00002750| 65 78 70 72 65 73 73 69 | 6f 6e 2d 6f 70 74 69 6f |expressi|on-optio|
|00002760| 6e 20 69 67 72 65 70 2d | 75 73 65 2d 7a 67 72 65 |n igrep-|use-zgre|
|00002770| 70 20 61 70 70 6c 79 20 | 69 67 72 65 70 20 69 67 |p apply |igrep ig|
|00002780| 72 65 70 2d 61 72 67 73 | 20 22 61 67 72 65 70 22 |rep-args| "agrep"|
|00002790| 5d 20 34 20 28 23 24 20 | 2e 20 2d 39 38 35 39 29 |] 4 (#$ |. -9859)|
|000027a0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 ad 81 | (byte-c|ode "...|
|000027b0| c1 c1 1a 18 c3 20 2a 87 | 22 20 5b 69 67 72 65 70 |..... *.|" [igrep|
|000027c0| 2d 70 72 6f 67 72 61 6d | 20 22 61 67 72 65 70 22 |-program| "agrep"|
|000027d0| 20 69 67 72 65 70 2d 70 | 72 6f 67 72 61 6d 2d 64 | igrep-p|rogram-d|
|000027e0| 65 66 61 75 6c 74 20 69 | 67 72 65 70 2d 72 65 61 |efault i|grep-rea|
|000027f0| 64 2d 61 72 67 73 5d 20 | 32 29 5d 29 0a 23 40 31 |d-args] |2)]).#@1|
|00002800| 35 30 20 2a 52 75 6e 20 | 60 67 72 65 70 60 20 76 |50 *Run |`grep` v|
|00002810| 69 61 20 60 66 69 6e 64 | 60 3b 20 73 65 65 20 5c |ia `find|`; see \|
|00002820| 5b 69 67 72 65 70 5d 20 | 61 6e 64 20 60 69 67 72 |[igrep] |and `igr|
|00002830| 65 70 2d 66 69 6e 64 27 | 2e 0a 41 6c 6c 20 61 72 |ep-find'|..All ar|
|00002840| 67 75 6d 65 6e 74 73 20 | 28 69 6e 63 6c 75 64 69 |guments |(includi|
|00002850| 6e 67 20 70 72 65 66 69 | 78 20 61 72 67 75 6d 65 |ng prefi|x argume|
|00002860| 6e 74 73 2c 20 77 68 65 | 6e 20 63 61 6c 6c 65 64 |nts, whe|n called|
|00002870| 20 69 6e 74 65 72 61 63 | 74 69 76 65 6c 79 29 0a | interac|tively).|
|00002880| 61 72 65 20 68 61 6e 64 | 6c 65 64 20 62 79 20 60 |are hand|led by `|
|00002890| 69 67 72 65 70 27 2e 1f | 0a 28 64 65 66 61 6c 69 |igrep'..|.(defali|
|000028a0| 61 73 20 27 69 67 72 65 | 70 2d 66 69 6e 64 20 23 |as 'igre|p-find #|
|000028b0| 5b 28 26 72 65 73 74 20 | 69 67 72 65 70 2d 61 72 |[(&rest |igrep-ar|
|000028c0| 67 73 29 20 22 c0 19 c2 | c3 0c 5c 22 29 87 22 20 |gs) "...|..\")." |
|000028d0| 5b 74 20 69 67 72 65 70 | 2d 66 69 6e 64 20 61 70 |[t igrep|-find ap|
|000028e0| 70 6c 79 20 69 67 72 65 | 70 20 69 67 72 65 70 2d |ply igre|p igrep-|
|000028f0| 61 72 67 73 5d 20 33 20 | 28 23 24 20 2e 20 2d 31 |args] 3 |(#$ . -1|
|00002900| 30 32 34 33 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |0243) (b|yte-code|
|00002910| 20 22 c0 19 c2 20 29 87 | 22 20 5b 74 20 69 67 72 | "... ).|" [t igr|
|00002920| 65 70 2d 66 69 6e 64 20 | 69 67 72 65 70 2d 72 65 |ep-find |igrep-re|
|00002930| 61 64 2d 61 72 67 73 5d | 20 31 29 5d 29 0a 23 40 |ad-args]| 1)]).#@|
|00002940| 31 34 39 20 44 65 66 69 | 6e 65 20 41 4e 41 4c 4f |149 Defi|ne ANALO|
|00002950| 47 55 45 2d 43 4f 4d 4d | 41 4e 44 2d 66 69 6e 64 |GUE-COMM|AND-find|
|00002960| 20 61 73 20 61 6e 20 60 | 69 67 72 65 70 27 20 61 | as an `|igrep' a|
|00002970| 6e 61 6c 6f 67 75 65 20 | 60 66 69 6e 64 60 20 63 |nalogue |`find` c|
|00002980| 6f 6d 6d 61 6e 64 2e 0a | 4f 70 74 69 6f 6e 61 6c |ommand..|Optional|
|00002990| 20 28 56 41 52 49 41 42 | 4c 45 20 56 41 4c 55 45 | (VARIAB|LE VALUE|
|000029a0| 29 20 61 72 67 75 6d 65 | 6e 74 73 20 73 70 65 63 |) argume|nts spec|
|000029b0| 69 66 79 20 74 65 6d 70 | 6f 72 61 72 79 20 62 69 |ify temp|orary bi|
|000029c0| 6e 64 69 6e 67 73 20 66 | 6f 72 20 74 68 65 20 63 |ndings f|or the c|
|000029d0| 6f 6d 6d 61 6e 64 2e 1f | 0a 28 64 65 66 61 6c 69 |ommand..|.(defali|
|000029e0| 61 73 20 27 69 67 72 65 | 70 2d 66 69 6e 64 2d 64 |as 'igre|p-find-d|
|000029f0| 65 66 69 6e 65 20 27 28 | 6d 61 63 72 6f 20 2e 20 |efine '(|macro . |
|00002a00| 23 5b 28 61 6e 61 6c 6f | 67 75 65 2d 63 6f 6d 6d |#[(analo|gue-comm|
|00002a10| 61 6e 64 20 26 72 65 73 | 74 20 69 67 72 65 70 2d |and &res|t igrep-|
|00002a20| 62 69 6e 64 69 6e 67 73 | 29 20 22 c0 09 21 1a c3 |bindings|) "..!..|
|00002a30| c4 c5 09 5c 22 21 11 c6 | 09 c7 c4 c8 5c 6e 5c 22 |...\"!..|....\n\"|
|00002a40| c9 ca cb cc cb 5c 6e 45 | 44 cd 5c 6e 44 ce 42 42 |.....\nE|D.\nD.BB|
|00002a50| cf 42 42 44 ca 0e 10 d1 | d2 d3 d4 d5 d6 5c 6e 44 |.BBD....|.....\nD|
|00002a60| 46 d7 42 42 42 45 af 06 | 29 87 22 20 5b 73 79 6d |F.BBBE..|)." [sym|
|00002a70| 62 6f 6c 2d 6e 61 6d 65 | 20 61 6e 61 6c 6f 67 75 |bol-name| analogu|
|00002a80| 65 2d 63 6f 6d 6d 61 6e | 64 20 61 6e 61 6c 6f 67 |e-comman|d analog|
|00002a90| 75 65 2d 70 72 6f 67 72 | 61 6d 20 69 6e 74 65 72 |ue-progr|am inter|
|00002aa0| 6e 20 66 6f 72 6d 61 74 | 20 22 25 73 2d 66 69 6e |n format| "%s-fin|
|00002ab0| 64 22 20 64 65 66 75 6e | 20 28 26 72 65 73 74 20 |d" defun| (&rest |
|00002ac0| 69 67 72 65 70 2d 61 72 | 67 73 29 20 22 2a 52 75 |igrep-ar|gs) "*Ru|
|00002ad0| 6e 20 60 25 73 60 20 76 | 69 61 20 5c 5c 5b 69 67 |n `%s` v|ia \\[ig|
|00002ae0| 72 65 70 2d 66 69 6e 64 | 5d 2e 5c 6e 41 6c 6c 20 |rep-find|].\nAll |
|00002af0| 61 72 67 75 6d 65 6e 74 | 73 20 28 69 6e 63 6c 75 |argument|s (inclu|
|00002b00| 64 69 6e 67 20 70 72 65 | 66 69 78 20 61 72 67 75 |ding pre|fix argu|
|00002b10| 6d 65 6e 74 73 2c 20 77 | 68 65 6e 20 63 61 6c 6c |ments, w|hen call|
|00002b20| 65 64 20 69 6e 74 65 72 | 61 63 74 69 76 65 6c 79 |ed inter|actively|
|00002b30| 29 5c 6e 61 72 65 20 68 | 61 6e 64 6c 65 64 20 62 |)\nare h|andled b|
|00002b40| 79 20 60 69 67 72 65 70 | 27 2e 22 20 69 6e 74 65 |y `igrep|'." inte|
|00002b50| 72 61 63 74 69 76 65 20 | 6c 65 74 20 69 67 72 65 |ractive |let igre|
|00002b60| 70 2d 70 72 6f 67 72 61 | 6d 20 69 66 20 69 67 72 |p-progra|m if igr|
|00002b70| 65 70 2d 70 72 6f 67 72 | 61 6d 2d 64 65 66 61 75 |ep-progr|am-defau|
|00002b80| 6c 74 20 28 28 69 67 72 | 65 70 2d 66 69 6e 64 20 |lt ((igr|ep-find |
|00002b90| 74 29 29 20 28 28 69 67 | 72 65 70 2d 72 65 61 64 |t)) ((ig|rep-read|
|00002ba0| 2d 61 72 67 73 29 29 20 | 69 67 72 65 70 2d 62 69 |-args)) |igrep-bi|
|00002bb0| 6e 64 69 6e 67 73 20 61 | 70 70 6c 79 20 28 66 75 |ndings a|pply (fu|
|00002bc0| 6e 63 74 69 6f 6e 20 69 | 67 72 65 70 2d 66 69 6e |nction i|grep-fin|
|00002bd0| 64 29 20 63 6f 6e 64 20 | 28 28 69 6e 74 65 72 61 |d) cond |((intera|
|00002be0| 63 74 69 76 65 2d 70 29 | 20 28 63 61 72 20 69 67 |ctive-p)| (car ig|
|00002bf0| 72 65 70 2d 61 72 67 73 | 29 29 20 28 28 63 61 72 |rep-args|)) ((car|
|00002c00| 20 69 67 72 65 70 2d 61 | 72 67 73 29 29 20 74 20 | igrep-a|rgs)) t |
|00002c10| 28 28 63 64 72 20 69 67 | 72 65 70 2d 61 72 67 73 |((cdr ig|rep-args|
|00002c20| 29 29 5d 20 31 34 20 28 | 23 24 20 2e 20 31 30 35 |))] 14 (|#$ . 105|
|00002c30| 36 34 29 5d 29 29 0a 23 | 40 31 32 37 20 2a 52 75 |64)])).#|@127 *Ru|
|00002c40| 6e 20 60 65 67 72 65 70 | 60 20 76 69 61 20 5c 5b |n `egrep|` via \[|
|00002c50| 69 67 72 65 70 2d 66 69 | 6e 64 5d 2e 0a 41 6c 6c |igrep-fi|nd]..All|
|00002c60| 20 61 72 67 75 6d 65 6e | 74 73 20 28 69 6e 63 6c | argumen|ts (incl|
|00002c70| 75 64 69 6e 67 20 70 72 | 65 66 69 78 20 61 72 67 |uding pr|efix arg|
|00002c80| 75 6d 65 6e 74 73 2c 20 | 77 68 65 6e 20 63 61 6c |uments, |when cal|
|00002c90| 6c 65 64 20 69 6e 74 65 | 72 61 63 74 69 76 65 6c |led inte|ractivel|
|00002ca0| 79 29 0a 61 72 65 20 68 | 61 6e 64 6c 65 64 20 62 |y).are h|andled b|
|00002cb0| 79 20 60 69 67 72 65 70 | 27 2e 1f 0a 28 64 65 66 |y `igrep|'...(def|
|00002cc0| 61 6c 69 61 73 20 27 65 | 67 72 65 70 2d 66 69 6e |alias 'e|grep-fin|
|00002cd0| 64 20 23 5b 28 26 72 65 | 73 74 20 69 67 72 65 70 |d #[(&re|st igrep|
|00002ce0| 2d 61 72 67 73 29 20 22 | c0 c1 74 ab 84 5c 6e 40 |-args) "|..t..\n@|
|00002cf0| aa 85 5c 6e 40 ae 81 c3 | 5c 6e 41 23 87 22 20 5b |..\n@...|\nA#." [|
|00002d00| 61 70 70 6c 79 20 69 67 | 72 65 70 2d 66 69 6e 64 |apply ig|rep-find|
|00002d10| 20 69 67 72 65 70 2d 61 | 72 67 73 20 22 65 67 72 | igrep-a|rgs "egr|
|00002d20| 65 70 22 5d 20 34 20 28 | 23 24 20 2e 20 2d 31 31 |ep"] 4 (|#$ . -11|
|00002d30| 33 32 35 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |325) (by|te-code |
|00002d40| 22 08 ad 81 c1 c1 c2 1b | 1c 18 c5 20 2b 87 22 20 |".......|... +." |
|00002d50| 5b 69 67 72 65 70 2d 70 | 72 6f 67 72 61 6d 20 22 |[igrep-p|rogram "|
|00002d60| 65 67 72 65 70 22 20 74 | 20 69 67 72 65 70 2d 66 |egrep" t| igrep-f|
|00002d70| 69 6e 64 20 69 67 72 65 | 70 2d 70 72 6f 67 72 61 |ind igre|p-progra|
|00002d80| 6d 2d 64 65 66 61 75 6c | 74 20 69 67 72 65 70 2d |m-defaul|t igrep-|
|00002d90| 72 65 61 64 2d 61 72 67 | 73 5d 20 33 29 5d 29 0a |read-arg|s] 3)]).|
|00002da0| 23 40 31 32 37 20 2a 52 | 75 6e 20 60 66 67 72 65 |#@127 *R|un `fgre|
|00002db0| 70 60 20 76 69 61 20 5c | 5b 69 67 72 65 70 2d 66 |p` via \|[igrep-f|
|00002dc0| 69 6e 64 5d 2e 0a 41 6c | 6c 20 61 72 67 75 6d 65 |ind]..Al|l argume|
|00002dd0| 6e 74 73 20 28 69 6e 63 | 6c 75 64 69 6e 67 20 70 |nts (inc|luding p|
|00002de0| 72 65 66 69 78 20 61 72 | 67 75 6d 65 6e 74 73 2c |refix ar|guments,|
|00002df0| 20 77 68 65 6e 20 63 61 | 6c 6c 65 64 20 69 6e 74 | when ca|lled int|
|00002e00| 65 72 61 63 74 69 76 65 | 6c 79 29 0a 61 72 65 20 |eractive|ly).are |
|00002e10| 68 61 6e 64 6c 65 64 20 | 62 79 20 60 69 67 72 65 |handled |by `igre|
|00002e20| 70 27 2e 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |p'...(de|falias '|
|00002e30| 66 67 72 65 70 2d 66 69 | 6e 64 20 23 5b 28 26 72 |fgrep-fi|nd #[(&r|
|00002e40| 65 73 74 20 69 67 72 65 | 70 2d 61 72 67 73 29 20 |est igre|p-args) |
|00002e50| 22 c0 c1 74 ab 84 5c 6e | 40 aa 85 5c 6e 40 ae 81 |"..t..\n|@..\n@..|
|00002e60| c3 5c 6e 41 23 87 22 20 | 5b 61 70 70 6c 79 20 69 |.\nA#." |[apply i|
|00002e70| 67 72 65 70 2d 66 69 6e | 64 20 69 67 72 65 70 2d |grep-fin|d igrep-|
|00002e80| 61 72 67 73 20 22 66 67 | 72 65 70 22 5d 20 34 20 |args "fg|rep"] 4 |
|00002e90| 28 23 24 20 2e 20 2d 31 | 31 36 38 36 29 20 28 62 |(#$ . -1|1686) (b|
|00002ea0| 79 74 65 2d 63 6f 64 65 | 20 22 08 ad 81 c1 c1 c2 |yte-code| "......|
|00002eb0| 1b 1c 18 c5 20 2b 87 22 | 20 5b 69 67 72 65 70 2d |.... +."| [igrep-|
|00002ec0| 70 72 6f 67 72 61 6d 20 | 22 66 67 72 65 70 22 20 |program |"fgrep" |
|00002ed0| 74 20 69 67 72 65 70 2d | 66 69 6e 64 20 69 67 72 |t igrep-|find igr|
|00002ee0| 65 70 2d 70 72 6f 67 72 | 61 6d 2d 64 65 66 61 75 |ep-progr|am-defau|
|00002ef0| 6c 74 20 69 67 72 65 70 | 2d 72 65 61 64 2d 61 72 |lt igrep|-read-ar|
|00002f00| 67 73 5d 20 33 29 5d 29 | 0a 23 40 31 32 37 20 2a |gs] 3)])|.#@127 *|
|00002f10| 52 75 6e 20 60 61 67 72 | 65 70 60 20 76 69 61 20 |Run `agr|ep` via |
|00002f20| 5c 5b 69 67 72 65 70 2d | 66 69 6e 64 5d 2e 0a 41 |\[igrep-|find]..A|
|00002f30| 6c 6c 20 61 72 67 75 6d | 65 6e 74 73 20 28 69 6e |ll argum|ents (in|
|00002f40| 63 6c 75 64 69 6e 67 20 | 70 72 65 66 69 78 20 61 |cluding |prefix a|
|00002f50| 72 67 75 6d 65 6e 74 73 | 2c 20 77 68 65 6e 20 63 |rguments|, when c|
|00002f60| 61 6c 6c 65 64 20 69 6e | 74 65 72 61 63 74 69 76 |alled in|teractiv|
|00002f70| 65 6c 79 29 0a 61 72 65 | 20 68 61 6e 64 6c 65 64 |ely).are| handled|
|00002f80| 20 62 79 20 60 69 67 72 | 65 70 27 2e 1f 0a 28 64 | by `igr|ep'...(d|
|00002f90| 65 66 61 6c 69 61 73 20 | 27 61 67 72 65 70 2d 66 |efalias |'agrep-f|
|00002fa0| 69 6e 64 20 23 5b 28 26 | 72 65 73 74 20 69 67 72 |ind #[(&|rest igr|
|00002fb0| 65 70 2d 61 72 67 73 29 | 20 22 c0 c1 1a 1b c4 c5 |ep-args)| "......|
|00002fc0| 74 ab 85 0e 06 40 aa 86 | 0e 06 40 ae 81 c7 0e 06 |t....@..|..@.....|
|00002fd0| 41 23 2a 87 22 20 5b 6e | 69 6c 20 22 2d 65 22 20 |A#*." [n|il "-e" |
|00002fe0| 69 67 72 65 70 2d 65 78 | 70 72 65 73 73 69 6f 6e |igrep-ex|pression|
|00002ff0| 2d 6f 70 74 69 6f 6e 20 | 69 67 72 65 70 2d 75 73 |-option |igrep-us|
|00003000| 65 2d 7a 67 72 65 70 20 | 61 70 70 6c 79 20 69 67 |e-zgrep |apply ig|
|00003010| 72 65 70 2d 66 69 6e 64 | 20 69 67 72 65 70 2d 61 |rep-find| igrep-a|
|00003020| 72 67 73 20 22 61 67 72 | 65 70 22 5d 20 34 20 28 |rgs "agr|ep"] 4 (|
|00003030| 23 24 20 2e 20 2d 31 32 | 30 34 37 29 20 28 62 79 |#$ . -12|047) (by|
|00003040| 74 65 2d 63 6f 64 65 20 | 22 08 ad 81 c1 c1 c2 1b |te-code |".......|
|00003050| 1c 18 c5 20 2b 87 22 20 | 5b 69 67 72 65 70 2d 70 |... +." |[igrep-p|
|00003060| 72 6f 67 72 61 6d 20 22 | 61 67 72 65 70 22 20 74 |rogram "|agrep" t|
|00003070| 20 69 67 72 65 70 2d 66 | 69 6e 64 20 69 67 72 65 | igrep-f|ind igre|
|00003080| 70 2d 70 72 6f 67 72 61 | 6d 2d 64 65 66 61 75 6c |p-progra|m-defaul|
|00003090| 74 20 69 67 72 65 70 2d | 72 65 61 64 2d 61 72 67 |t igrep-|read-arg|
|000030a0| 73 5d 20 33 29 5d 29 0a | 23 40 31 30 37 20 2a 52 |s] 3)]).|#@107 *R|
|000030b0| 75 6e 20 60 67 72 65 70 | 60 20 50 52 4f 47 52 41 |un `grep|` PROGRA|
|000030c0| 4d 20 74 6f 20 6d 61 74 | 63 68 20 45 58 50 52 45 |M to mat|ch EXPRE|
|000030d0| 53 53 49 4f 4e 20 28 77 | 69 74 68 20 6f 70 74 69 |SSION (w|ith opti|
|000030e0| 6f 6e 61 6c 20 4f 50 54 | 49 4f 4e 53 29 0a 6f 6e |onal OPT|IONS).on|
|000030f0| 20 74 68 65 20 6d 61 72 | 6b 65 64 20 28 6f 72 20 | the mar|ked (or |
|00003100| 6e 65 78 74 20 70 72 65 | 66 69 78 20 41 52 47 29 |next pre|fix ARG)|
|00003110| 20 66 69 6c 65 73 2e 1f | 0a 28 64 65 66 61 6c 69 | files..|.(defali|
|00003120| 61 73 20 27 64 69 72 65 | 64 2d 64 6f 2d 69 67 72 |as 'dire|d-do-igr|
|00003130| 65 70 20 23 5b 28 70 72 | 6f 67 72 61 6d 20 65 78 |ep #[(pr|ogram ex|
|00003140| 70 72 65 73 73 69 6f 6e | 20 26 6f 70 74 69 6f 6e |pression| &option|
|00003150| 61 6c 20 6f 70 74 69 6f | 6e 73 20 61 72 67 29 20 |al optio|ns arg) |
|00003160| 22 c0 09 5c 6e c3 c4 21 | ab 83 c4 aa 86 c3 c5 21 |"..\n..!|.......!|
|00003170| ad 81 c5 c6 0e 07 5c 22 | 0e 08 24 87 22 20 5b 69 |......\"|..$." [i|
|00003180| 67 72 65 70 20 70 72 6f | 67 72 61 6d 20 65 78 70 |grep pro|gram exp|
|00003190| 72 65 73 73 69 6f 6e 20 | 66 62 6f 75 6e 64 70 20 |ression |fboundp |
|000031a0| 64 69 72 65 64 2d 67 65 | 74 2d 6d 61 72 6b 65 64 |dired-ge|t-marked|
|000031b0| 2d 66 69 6c 65 73 20 64 | 69 72 65 64 2d 6d 61 72 |-files d|ired-mar|
|000031c0| 6b 2d 67 65 74 2d 66 69 | 6c 65 73 20 74 20 61 72 |k-get-fi|les t ar|
|000031d0| 67 20 6f 70 74 69 6f 6e | 73 5d 20 36 20 28 23 24 |g option|s] 6 (#$|
|000031e0| 20 2e 20 2d 31 32 34 36 | 32 29 20 28 62 79 74 65 | . -1246|2) (byte|
|000031f0| 2d 63 6f 64 65 20 22 c0 | 19 c2 c3 21 89 1c 41 c5 |-code ".|...!..A.|
|00003200| 0c 9b a1 88 0c 09 43 a4 | 2a 87 22 20 5b 6e 69 6c |......C.|*." [nil|
|00003210| 20 63 75 72 72 65 6e 74 | 2d 70 72 65 66 69 78 2d | current|-prefix-|
|00003220| 61 72 67 20 69 67 72 65 | 70 2d 72 65 61 64 2d 61 |arg igre|p-read-a|
|00003230| 72 67 73 20 74 20 69 67 | 72 65 70 2d 61 72 67 73 |rgs t ig|rep-args|
|00003240| 20 33 5d 20 34 29 5d 29 | 0a 23 40 31 31 33 20 2a | 3] 4)])|.#@113 *|
|00003250| 52 75 6e 20 60 67 72 65 | 70 60 20 50 52 4f 47 52 |Run `gre|p` PROGR|
|00003260| 41 4d 20 74 6f 20 6d 61 | 74 63 68 20 45 58 50 52 |AM to ma|tch EXPR|
|00003270| 45 53 53 49 4f 4e 20 28 | 77 69 74 68 20 6f 70 74 |ESSION (|with opt|
|00003280| 69 6f 6e 61 6c 20 4f 50 | 54 49 4f 4e 53 29 0a 6f |ional OP|TIONS).o|
|00003290| 6e 20 74 68 65 20 6d 61 | 72 6b 65 64 20 28 6f 72 |n the ma|rked (or|
|000032a0| 20 6e 65 78 74 20 70 72 | 65 66 69 78 20 41 52 47 | next pr|efix ARG|
|000032b0| 29 20 64 69 72 65 63 74 | 6f 72 69 65 73 2e 1f 0a |) direct|ories...|
|000032c0| 28 64 65 66 61 6c 69 61 | 73 20 27 64 69 72 65 64 |(defalia|s 'dired|
|000032d0| 2d 64 6f 2d 69 67 72 65 | 70 2d 66 69 6e 64 20 23 |-do-igre|p-find #|
|000032e0| 5b 28 70 72 6f 67 72 61 | 6d 20 65 78 70 72 65 73 |[(progra|m expres|
|000032f0| 73 69 6f 6e 20 26 6f 70 | 74 69 6f 6e 61 6c 20 6f |sion &op|tional o|
|00003300| 70 74 69 6f 6e 73 20 61 | 72 67 29 20 22 c0 19 c2 |ptions a|rg) "...|
|00003310| 0b 0c 0d 0e 06 24 29 87 | 22 20 5b 74 20 69 67 72 |.....$).|" [t igr|
|00003320| 65 70 2d 66 69 6e 64 20 | 64 69 72 65 64 2d 64 6f |ep-find |dired-do|
|00003330| 2d 69 67 72 65 70 20 70 | 72 6f 67 72 61 6d 20 65 |-igrep p|rogram e|
|00003340| 78 70 72 65 73 73 69 6f | 6e 20 6f 70 74 69 6f 6e |xpressio|n option|
|00003350| 73 20 61 72 67 5d 20 35 | 20 28 23 24 20 2e 20 2d |s arg] 5| (#$ . -|
|00003360| 31 32 38 37 39 29 20 28 | 62 79 74 65 2d 63 6f 64 |12879) (|byte-cod|
|00003370| 65 20 22 c0 19 c2 1b c4 | c2 21 89 1d 41 c6 0d 9b |e ".....|.!..A...|
|00003380| a1 88 0d 09 43 a4 2b 87 | 22 20 5b 6e 69 6c 20 63 |....C.+.|" [nil c|
|00003390| 75 72 72 65 6e 74 2d 70 | 72 65 66 69 78 2d 61 72 |urrent-p|refix-ar|
|000033a0| 67 20 74 20 69 67 72 65 | 70 2d 66 69 6e 64 20 69 |g t igre|p-find i|
|000033b0| 67 72 65 70 2d 72 65 61 | 64 2d 61 72 67 73 20 69 |grep-rea|d-args i|
|000033c0| 67 72 65 70 2d 61 72 67 | 73 20 33 5d 20 34 29 5d |grep-arg|s 3] 4)]|
|000033d0| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 69 67 72 |).(defal|ias 'igr|
|000033e0| 65 70 2d 66 69 6c 65 2d | 64 69 72 65 63 74 6f 72 |ep-file-|director|
|000033f0| 79 20 23 5b 28 6e 61 6d | 65 29 20 22 c0 c1 5c 6e |y #[(nam|e) "..\n|
|00003400| 21 ae 83 c3 c4 21 21 87 | 22 20 5b 64 69 72 65 63 |!....!!.|" [direc|
|00003410| 74 6f 72 79 2d 66 69 6c | 65 2d 6e 61 6d 65 20 66 |tory-fil|e-name f|
|00003420| 69 6c 65 2d 6e 61 6d 65 | 2d 64 69 72 65 63 74 6f |ile-name|-directo|
|00003430| 72 79 20 6e 61 6d 65 20 | 66 69 6c 65 2d 6e 61 6d |ry name |file-nam|
|00003440| 65 2d 61 73 2d 64 69 72 | 65 63 74 6f 72 79 20 22 |e-as-dir|ectory "|
|00003450| 2e 22 5d 20 33 5d 29 0a | 28 62 79 74 65 2d 63 6f |."] 3]).|(byte-co|
|00003460| 64 65 20 22 c0 c1 4e c2 | 73 ac 85 c3 c4 c0 5c 22 |de "..N.|s.....\"|
|00003470| 88 c5 c0 c1 c6 23 87 22 | 20 5b 69 67 72 65 70 2d |.....#."| [igrep-|
|00003480| 66 69 6c 65 2d 64 69 72 | 65 63 74 6f 72 79 20 62 |file-dir|ectory b|
|00003490| 79 74 65 2d 6f 70 74 69 | 6d 69 7a 65 72 20 28 6e |yte-opti|mizer (n|
|000034a0| 69 6c 20 62 79 74 65 2d | 63 6f 6d 70 69 6c 65 2d |il byte-|compile-|
|000034b0| 69 6e 6c 69 6e 65 2d 65 | 78 70 61 6e 64 29 20 65 |inline-e|xpand) e|
|000034c0| 72 72 6f 72 20 22 25 73 | 20 61 6c 72 65 61 64 79 |rror "%s| already|
|000034d0| 20 68 61 73 20 61 20 62 | 79 74 65 2d 6f 70 74 69 | has a b|yte-opti|
|000034e0| 6d 69 7a 65 72 2c 20 63 | 61 6e 27 74 20 6d 61 6b |mizer, c|an't mak|
|000034f0| 65 20 69 74 20 69 6e 6c | 69 6e 65 22 20 70 75 74 |e it inl|ine" put|
|00003500| 20 62 79 74 65 2d 63 6f | 6d 70 69 6c 65 2d 69 6e | byte-co|mpile-in|
|00003510| 6c 69 6e 65 2d 65 78 70 | 61 6e 64 5d 20 34 29 0a |line-exp|and] 4).|
|00003520| 28 64 65 66 61 6c 69 61 | 73 20 27 69 67 72 65 70 |(defalia|s 'igrep|
|00003530| 2d 66 69 6c 65 2d 70 61 | 74 74 65 72 6e 20 23 5b |-file-pa|ttern #[|
|00003540| 28 6e 61 6d 65 29 20 22 | c0 09 21 89 1a c3 98 ab |(name) "|..!.....|
|00003550| 83 c4 aa 81 5c 6e 29 87 | 22 20 5b 66 69 6c 65 2d |....\n).|" [file-|
|00003560| 6e 61 6d 65 2d 6e 6f 6e | 64 69 72 65 63 74 6f 72 |name-non|director|
|00003570| 79 20 6e 61 6d 65 20 70 | 61 74 74 65 72 6e 20 22 |y name p|attern "|
|00003580| 22 20 22 2a 22 5d 20 33 | 5d 29 0a 28 62 79 74 65 |" "*"] 3|]).(byte|
|00003590| 2d 63 6f 64 65 20 22 c0 | c1 4e c2 73 ac 85 c3 c4 |-code ".|.N.s....|
|000035a0| c0 5c 22 88 c5 c0 c1 c6 | 23 87 22 20 5b 69 67 72 |.\".....|#." [igr|
|000035b0| 65 70 2d 66 69 6c 65 2d | 70 61 74 74 65 72 6e 20 |ep-file-|pattern |
|000035c0| 62 79 74 65 2d 6f 70 74 | 69 6d 69 7a 65 72 20 28 |byte-opt|imizer (|
|000035d0| 6e 69 6c 20 62 79 74 65 | 2d 63 6f 6d 70 69 6c 65 |nil byte|-compile|
|000035e0| 2d 69 6e 6c 69 6e 65 2d | 65 78 70 61 6e 64 29 20 |-inline-|expand) |
|000035f0| 65 72 72 6f 72 20 22 25 | 73 20 61 6c 72 65 61 64 |error "%|s alread|
|00003600| 79 20 68 61 73 20 61 20 | 62 79 74 65 2d 6f 70 74 |y has a |byte-opt|
|00003610| 69 6d 69 7a 65 72 2c 20 | 63 61 6e 27 74 20 6d 61 |imizer, |can't ma|
|00003620| 6b 65 20 69 74 20 69 6e | 6c 69 6e 65 22 20 70 75 |ke it in|line" pu|
|00003630| 74 20 62 79 74 65 2d 63 | 6f 6d 70 69 6c 65 2d 69 |t byte-c|ompile-i|
|00003640| 6e 6c 69 6e 65 2d 65 78 | 70 61 6e 64 5d 20 34 29 |nline-ex|pand] 4)|
|00003650| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 69 67 72 65 |.(defali|as 'igre|
|00003660| 70 2d 66 6f 72 6d 61 74 | 2d 66 69 6e 64 2d 63 6f |p-format|-find-co|
|00003670| 6d 6d 61 6e 64 20 23 5b | 28 63 6f 6d 6d 61 6e 64 |mmand #[|(command|
|00003680| 20 66 69 6c 65 73 29 20 | 22 c0 89 19 1a 0b ab e1 | files) |".......|
|00003690| 0b 40 1c c5 c6 0c 21 ae | 83 c7 c8 21 21 29 0b 40 |.@....!.|...!!).@|
|000036a0| 1c c9 0c 21 89 1e 5c 6e | cb 98 ab 83 cc aa 82 0e |...!..\n|........|
|000036b0| 5c 6e 2a 1e 0d 89 1e 0e | c8 98 ac 8c cf 0e 0e 21 |\n*.....|.......!|
|000036c0| ab 86 0e 0e d0 50 16 0e | 0e 0e 5c 6e b6 ac 85 0e |.....P..|..\n....|
|000036d0| 0e 5c 6e 42 12 0e 0d cc | 6b ab 84 d1 11 aa 8f 09 |.\nB....|k.......|
|000036e0| 3c ab 8b 0e 0d 09 b6 ac | 85 0e 0d 09 42 11 2a 0b |<.......|....B.*.|
|000036f0| 41 89 13 ac 1f d2 0e 13 | d4 61 ab 83 d5 aa 88 0e |A.......|.a......|
|00003700| 13 ab 83 d6 aa 81 d7 d8 | d9 5c 6e 9f da 23 0e 1b |........|.\n..#..|
|00003710| ab 91 d2 dc 0e 1d ae 81 | de 0e 1b 0e 1d ae 81 de |........|........|
|00003720| 24 aa 81 cb 0e 1f ab 91 | d2 e0 0e 1d ae 81 de 0e |$.......|........|
|00003730| 1f 0e 1d ae 81 de 24 aa | 81 cb 09 3c ab a0 09 41 |......$.|...<...A|
|00003740| ab 95 d2 e0 0e 1d ae 81 | da d8 e1 09 9f e2 23 0e |........|......#.|
|00003750| 1d ae 81 da 24 aa 88 d2 | e3 09 40 5c 22 aa 81 cb |....$...|..@\"...|
|00003760| 0e 24 26 06 2a 87 22 20 | 5b 6e 69 6c 20 70 61 74 |.$&.*." |[nil pat|
|00003770| 74 65 72 6e 73 20 64 69 | 72 65 63 74 6f 72 69 65 |terns di|rectorie|
|00003780| 73 20 66 69 6c 65 73 20 | 6e 61 6d 65 20 64 69 72 |s files |name dir|
|00003790| 65 63 74 6f 72 79 2d 66 | 69 6c 65 2d 6e 61 6d 65 |ectory-f|ile-name|
|000037a0| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 64 69 72 65 63 | file-na|me-direc|
|000037b0| 74 6f 72 79 20 66 69 6c | 65 2d 6e 61 6d 65 2d 61 |tory fil|e-name-a|
|000037c0| 73 2d 64 69 72 65 63 74 | 6f 72 79 20 22 2e 22 20 |s-direct|ory "." |
|000037d0| 66 69 6c 65 2d 6e 61 6d | 65 2d 6e 6f 6e 64 69 72 |file-nam|e-nondir|
|000037e0| 65 63 74 6f 72 79 20 70 | 61 74 74 65 72 6e 20 22 |ectory p|attern "|
|000037f0| 22 20 22 2a 22 20 70 61 | 74 20 64 69 72 20 66 69 |" "*" pa|t dir fi|
|00003800| 6c 65 2d 73 79 6d 6c 69 | 6e 6b 2d 70 20 22 2f 2e |le-symli|nk-p "/.|
|00003810| 22 20 74 20 66 6f 72 6d | 61 74 20 69 67 72 65 70 |" t form|at igrep|
|00003820| 2d 66 69 6e 64 2d 75 73 | 65 2d 78 61 72 67 73 20 |-find-us|e-xargs |
|00003830| 67 6e 75 20 22 66 69 6e | 64 20 25 73 20 25 73 20 |gnu "fin|d %s %s |
|00003840| 25 73 20 25 73 20 2d 70 | 72 69 6e 74 30 20 7c 20 |%s %s -p|rint0 | |
|00003850| 78 61 72 67 73 20 2d 30 | 20 2d 65 20 25 73 22 20 |xargs -0| -e %s" |
|00003860| 22 66 69 6e 64 20 25 73 | 20 25 73 20 25 73 20 25 |"find %s| %s %s %|
|00003870| 73 20 2d 70 72 69 6e 74 | 20 7c 20 78 61 72 67 73 |s -print| | xargs|
|00003880| 20 2d 65 20 25 73 22 20 | 22 66 69 6e 64 20 25 73 | -e %s" |"find %s|
|00003890| 20 25 73 20 25 73 20 25 | 73 20 2d 65 78 65 63 20 | %s %s %|s -exec |
|000038a0| 25 73 20 5c 5c 3b 22 20 | 6d 61 70 63 6f 6e 63 61 |%s \\;" |mapconca|
|000038b0| 74 20 69 64 65 6e 74 69 | 74 79 20 22 20 22 20 69 |t identi|ty " " i|
|000038c0| 67 72 65 70 2d 66 69 6e | 64 2d 70 72 75 6e 65 2d |grep-fin|d-prune-|
|000038d0| 6f 70 74 69 6f 6e 73 20 | 22 2d 74 79 70 65 20 64 |options |"-type d|
|000038e0| 20 25 63 28 20 25 73 20 | 25 63 29 20 2d 70 72 75 | %c( %s |%c) -pru|
|000038f0| 6e 65 20 2d 6f 22 20 69 | 67 72 65 70 2d 70 61 72 |ne -o" i|grep-par|
|00003900| 65 6e 74 68 65 73 69 73 | 2d 65 73 63 61 70 65 2d |enthesis|-escape-|
|00003910| 63 68 61 72 20 3f 5c 20 | 20 69 67 72 65 70 2d 66 |char ?\ | igrep-f|
|00003920| 69 6e 64 2d 66 69 6c 65 | 2d 6f 70 74 69 6f 6e 73 |ind-file|-options|
|00003930| 20 22 25 63 28 20 25 73 | 20 25 63 29 22 20 23 5b | "%c( %s| %c)" #[|
|00003940| 28 70 61 74 29 20 22 c0 | c1 5c 6e 5c 22 87 22 20 |(pat) ".|.\n\"." |
|00003950| 5b 66 6f 72 6d 61 74 20 | 22 2d 6e 61 6d 65 20 5c |[format |"-name \|
|00003960| 22 25 73 5c 22 22 20 70 | 61 74 5d 20 33 5d 20 22 |"%s\"" p|at] 3] "|
|00003970| 20 2d 6f 20 22 20 22 2d | 6e 61 6d 65 20 5c 22 25 | -o " "-|name \"%|
|00003980| 73 5c 22 22 20 63 6f 6d | 6d 61 6e 64 5d 20 31 33 |s\"" com|mand] 13|
|00003990| 5d 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 69 67 |]).(defa|lias 'ig|
|000039a0| 72 65 70 2d 72 65 61 64 | 2d 61 72 67 73 20 23 5b |rep-read|-args #[|
|000039b0| 28 26 6f 70 74 69 6f 6e | 61 6c 20 6e 6f 2d 66 69 |(&option|al no-fi|
|000039c0| 6c 65 73 29 20 22 c0 09 | ad 84 5c 6e ad 81 c3 21 |les) "..|..\n...!|
|000039d0| 1c 09 ad 8f c5 c6 5c 6e | ad 81 c3 09 c7 61 ad 83 |......\n|.....a..|
|000039e0| 0c c8 44 23 1e 09 ca 0e | 09 21 1e 0b 09 c7 61 ab |..D#....|.!....a.|
|000039f0| 88 0e 09 0e 0b c8 51 16 | 09 0c cc 0e 09 21 0e 0d |......Q.|.....!..|
|00003a00| 3f ad 84 ce 0e 09 21 0e | 0b 46 2b 87 22 20 5b 69 |?.....!.|.F+." [i|
|00003a10| 67 72 65 70 2d 72 65 61 | 64 2d 70 72 6f 67 72 61 |grep-rea|d-progra|
|00003a20| 6d 20 69 67 72 65 70 2d | 76 65 72 62 6f 73 65 2d |m igrep-|verbose-|
|00003a30| 70 72 6f 6d 70 74 73 20 | 69 67 72 65 70 2d 66 69 |prompts |igrep-fi|
|00003a40| 6e 64 20 22 5b 66 69 6e | 64 5d 20 22 20 70 72 6f |nd "[fin|d] " pro|
|00003a50| 67 72 61 6d 20 61 70 70 | 6c 79 20 63 6f 6e 63 61 |gram app|ly conca|
|00003a60| 74 20 74 20 22 20 22 20 | 70 72 6f 6d 70 74 2d 70 |t t " " |prompt-p|
|00003a70| 72 65 66 69 78 20 69 67 | 72 65 70 2d 72 65 61 64 |refix ig|rep-read|
|00003a80| 2d 6f 70 74 69 6f 6e 73 | 20 6f 70 74 69 6f 6e 73 |-options| options|
|00003a90| 20 69 67 72 65 70 2d 72 | 65 61 64 2d 65 78 70 72 | igrep-r|ead-expr|
|00003aa0| 65 73 73 69 6f 6e 20 6e | 6f 2d 66 69 6c 65 73 20 |ession n|o-files |
|00003ab0| 69 67 72 65 70 2d 72 65 | 61 64 2d 66 69 6c 65 73 |igrep-re|ad-files|
|00003ac0| 5d 20 35 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |] 5]).(d|efalias |
|00003ad0| 27 69 67 72 65 70 2d 70 | 72 65 66 69 78 20 23 5b |'igrep-p|refix #[|
|00003ae0| 28 70 72 65 66 69 78 20 | 73 74 72 69 6e 67 29 20 |(prefix |string) |
|00003af0| 22 08 ab 84 08 09 50 87 | 09 87 22 20 5b 70 72 65 |".....P.|.." [pre|
|00003b00| 66 69 78 20 73 74 72 69 | 6e 67 5d 20 32 5d 29 0a |fix stri|ng] 2]).|
|00003b10| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 c1 4e c2 |(byte-co|de "..N.|
|00003b20| 73 ac 85 c3 c4 c0 5c 22 | 88 c5 c0 c1 c6 23 87 22 |s.....\"|.....#."|
|00003b30| 20 5b 69 67 72 65 70 2d | 70 72 65 66 69 78 20 62 | [igrep-|prefix b|
|00003b40| 79 74 65 2d 6f 70 74 69 | 6d 69 7a 65 72 20 28 6e |yte-opti|mizer (n|
|00003b50| 69 6c 20 62 79 74 65 2d | 63 6f 6d 70 69 6c 65 2d |il byte-|compile-|
|00003b60| 69 6e 6c 69 6e 65 2d 65 | 78 70 61 6e 64 29 20 65 |inline-e|xpand) e|
|00003b70| 72 72 6f 72 20 22 25 73 | 20 61 6c 72 65 61 64 79 |rror "%s| already|
|00003b80| 20 68 61 73 20 61 20 62 | 79 74 65 2d 6f 70 74 69 | has a b|yte-opti|
|00003b90| 6d 69 7a 65 72 2c 20 63 | 61 6e 27 74 20 6d 61 6b |mizer, c|an't mak|
|00003ba0| 65 20 69 74 20 69 6e 6c | 69 6e 65 22 20 70 75 74 |e it inl|ine" put|
|00003bb0| 20 62 79 74 65 2d 63 6f | 6d 70 69 6c 65 2d 69 6e | byte-co|mpile-in|
|00003bc0| 6c 69 6e 65 2d 65 78 70 | 61 6e 64 5d 20 34 29 0a |line-exp|and] 4).|
|00003bd0| 28 64 65 66 61 6c 69 61 | 73 20 27 69 67 72 65 70 |(defalia|s 'igrep|
|00003be0| 2d 72 65 61 64 2d 70 72 | 6f 67 72 61 6d 20 23 5b |-read-pr|ogram #[|
|00003bf0| 28 26 6f 70 74 69 6f 6e | 61 6c 20 70 72 6f 6d 70 |(&option|al promp|
|00003c00| 74 2d 70 72 65 66 69 78 | 29 20 22 08 ae 9e c1 1a |t-prefix|) ".....|
|00003c10| c3 0c 5c 6e 1d 89 1e 06 | ab 86 0e 06 0d 50 aa 81 |..\n....|.....P..|
|00003c20| 0d 2a 0e 07 c8 c9 0e 5c | 6e ae 81 cb 25 29 87 22 |.*.....\|n...%)."|
|00003c30| 20 5b 69 67 72 65 70 2d | 70 72 6f 67 72 61 6d 20 | [igrep-|program |
|00003c40| 22 50 72 6f 67 72 61 6d | 3a 20 22 20 70 72 6f 6d |"Program|: " prom|
|00003c50| 70 74 20 63 6f 6d 70 6c | 65 74 69 6e 67 2d 72 65 |pt compl|eting-re|
|00003c60| 61 64 20 70 72 6f 6d 70 | 74 2d 70 72 65 66 69 78 |ad promp|t-prefix|
|00003c70| 20 73 74 72 69 6e 67 20 | 70 72 65 66 69 78 20 69 | string |prefix i|
|00003c80| 67 72 65 70 2d 70 72 6f | 67 72 61 6d 2d 74 61 62 |grep-pro|gram-tab|
|00003c90| 6c 65 20 6e 69 6c 20 74 | 20 69 67 72 65 70 2d 70 |le nil t| igrep-p|
|00003ca0| 72 6f 67 72 61 6d 2d 64 | 65 66 61 75 6c 74 20 22 |rogram-d|efault "|
|00003cb0| 67 72 65 70 22 5d 20 37 | 5d 29 0a 28 64 65 66 61 |grep"] 7|]).(defa|
|00003cc0| 6c 69 61 73 20 27 69 67 | 72 65 70 2d 72 65 61 64 |lias 'ig|rep-read|
|00003cd0| 2d 6f 70 74 69 6f 6e 73 | 20 23 5b 28 26 6f 70 74 |-options| #[(&opt|
|00003ce0| 69 6f 6e 61 6c 20 70 72 | 6f 6d 70 74 2d 70 72 65 |ional pr|ompt-pre|
|00003cf0| 66 69 78 29 20 22 08 ac | 8b 09 3a ab a6 c2 09 21 |fix) "..|..:....!|
|00003d00| c3 73 ab 9f c4 1d c6 0e | 07 0d 1e 08 89 1e 09 ab |.s......|........|
|00003d10| 87 0e 09 0e 08 50 aa 82 | 0e 08 2a 0e 5c 6e ae 81 |.....P..|..*.\n..|
|00003d20| cb 5c 22 29 87 0e 5c 6e | 87 22 20 5b 69 67 72 65 |.\")..\n|." [igre|
|00003d30| 70 2d 72 65 61 64 2d 6f | 70 74 69 6f 6e 73 20 63 |p-read-o|ptions c|
|00003d40| 75 72 72 65 6e 74 2d 70 | 72 65 66 69 78 2d 61 72 |urrent-p|refix-ar|
|00003d50| 67 20 70 72 65 66 69 78 | 2d 6e 75 6d 65 72 69 63 |g prefix|-numeric|
|00003d60| 2d 76 61 6c 75 65 20 28 | 34 20 36 34 29 20 22 4f |-value (|4 64) "O|
|00003d70| 70 74 69 6f 6e 73 3a 20 | 22 20 70 72 6f 6d 70 74 |ptions: |" prompt|
|00003d80| 20 72 65 61 64 2d 73 74 | 72 69 6e 67 20 70 72 6f | read-st|ring pro|
|00003d90| 6d 70 74 2d 70 72 65 66 | 69 78 20 73 74 72 69 6e |mpt-pref|ix strin|
|00003da0| 67 20 70 72 65 66 69 78 | 20 69 67 72 65 70 2d 6f |g prefix| igrep-o|
|00003db0| 70 74 69 6f 6e 73 20 22 | 2d 22 5d 20 34 5d 29 0a |ptions "|-"] 4]).|
|00003dc0| 28 64 65 66 61 6c 69 61 | 73 20 27 69 67 72 65 70 |(defalia|s 'igrep|
|00003dd0| 2d 72 65 61 64 2d 65 78 | 70 72 65 73 73 69 6f 6e |-read-ex|pression|
|00003de0| 20 23 5b 28 26 6f 70 74 | 69 6f 6e 61 6c 20 70 72 | #[(&opt|ional pr|
|00003df0| 6f 6d 70 74 2d 70 72 65 | 66 69 78 29 20 22 c0 20 |ompt-pre|fix) ". |
|00003e00| 89 19 c2 98 ab 9b c3 0c | c5 1e 06 89 1e 07 ab 87 |........|........|
|00003e10| 0e 07 0e 06 50 aa 82 0e | 06 2a c8 89 89 c9 25 aa |....P...|.*....%.|
|00003e20| a7 ca 0c cb cc 09 5c 22 | 1e 06 89 1e 07 ab 87 0e |......\"|........|
|00003e30| 07 0e 06 50 aa 82 0e 06 | 2a 09 c9 23 89 1e 0d c2 |...P....|*..#....|
|00003e40| 98 ab 83 09 aa 82 0e 0d | 29 29 87 22 20 5b 69 67 |........|))." [ig|
|00003e50| 72 65 70 2d 64 65 66 61 | 75 6c 74 2d 65 78 70 72 |rep-defa|ult-expr|
|00003e60| 65 73 73 69 6f 6e 20 64 | 65 66 61 75 6c 74 2d 65 |ession d|efault-e|
|00003e70| 78 70 72 65 73 73 69 6f | 6e 20 22 22 20 72 65 61 |xpressio|n "" rea|
|00003e80| 64 2d 66 72 6f 6d 2d 6d | 69 6e 69 62 75 66 66 65 |d-from-m|inibuffe|
|00003e90| 72 20 70 72 6f 6d 70 74 | 2d 70 72 65 66 69 78 20 |r prompt|-prefix |
|00003ea0| 22 45 78 70 72 65 73 73 | 69 6f 6e 3a 20 22 20 73 |"Express|ion: " s|
|00003eb0| 74 72 69 6e 67 20 70 72 | 65 66 69 78 20 6e 69 6c |tring pr|efix nil|
|00003ec0| 20 69 67 72 65 70 2d 65 | 78 70 72 65 73 73 69 6f | igrep-e|xpressio|
|00003ed0| 6e 2d 68 69 73 74 6f 72 | 79 20 69 67 72 65 70 2d |n-histor|y igrep-|
|00003ee0| 72 65 61 64 2d 73 74 72 | 69 6e 67 2d 77 69 74 68 |read-str|ing-with|
|00003ef0| 2d 64 65 66 61 75 6c 74 | 2d 69 6e 2d 68 69 73 74 |-default|-in-hist|
|00003f00| 6f 72 79 20 66 6f 72 6d | 61 74 20 22 45 78 70 72 |ory form|at "Expr|
|00003f10| 65 73 73 69 6f 6e 20 28 | 64 65 66 61 75 6c 74 20 |ession (|default |
|00003f20| 25 73 29 3a 20 22 20 65 | 78 70 72 65 73 73 69 6f |%s): " e|xpressio|
|00003f30| 6e 5d 20 37 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |n] 7]).(|defalias|
|00003f40| 20 27 69 67 72 65 70 2d | 64 65 66 61 75 6c 74 2d | 'igrep-|default-|
|00003f50| 65 78 70 72 65 73 73 69 | 6f 6e 20 23 5b 6e 69 6c |expressi|on #[nil|
|00003f60| 20 22 08 c1 61 ab 98 c2 | c3 c4 5c 22 1d 8a 0d ab | "..a...|..\"....|
|00003f70| 85 c6 0d 21 ae 84 c7 70 | c4 5c 22 71 88 c8 20 2a |...!...p|.\"q.. *|
|00003f80| 87 c8 20 87 22 20 5b 6d | 61 6a 6f 72 2d 6d 6f 64 |.. ." [m|ajor-mod|
|00003f90| 65 20 64 69 72 65 64 2d | 6d 6f 64 65 20 64 69 72 |e dired-|mode dir|
|00003fa0| 65 64 2d 67 65 74 2d 66 | 69 6c 65 6e 61 6d 65 20 |ed-get-f|ilename |
|00003fb0| 6e 69 6c 20 74 20 64 69 | 72 65 64 2d 66 69 6c 65 |nil t di|red-file|
|00003fc0| 20 67 65 74 2d 66 69 6c | 65 2d 62 75 66 66 65 72 | get-fil|e-buffer|
|00003fd0| 20 6f 74 68 65 72 2d 62 | 75 66 66 65 72 20 63 75 | other-b|uffer cu|
|00003fe0| 72 72 65 6e 74 2d 77 6f | 72 64 5d 20 33 5d 29 0a |rrent-wo|rd] 3]).|
|00003ff0| 28 64 65 66 61 6c 69 61 | 73 20 27 69 67 72 65 70 |(defalia|s 'igrep|
|00004000| 2d 64 65 66 61 75 6c 74 | 2d 6b 65 79 20 23 5b 6e |-default|-key #[n|
|00004010| 69 6c 20 22 c0 09 c2 5c | 22 c3 61 ab 82 c2 87 c4 |il "...\|".a.....|
|00004020| c3 09 c5 23 87 22 20 5b | 6c 6f 6f 6b 75 70 2d 6b |...#." [|lookup-k|
|00004030| 65 79 20 6d 69 6e 69 62 | 75 66 66 65 72 2d 6c 6f |ey minib|uffer-lo|
|00004040| 63 61 6c 2d 63 6f 6d 70 | 6c 65 74 69 6f 6e 2d 6d |cal-comp|letion-m|
|00004050| 61 70 20 22 0d 22 20 65 | 78 69 74 2d 6d 69 6e 69 |ap "." e|xit-mini|
|00004060| 62 75 66 66 65 72 20 77 | 68 65 72 65 2d 69 73 2d |buffer w|here-is-|
|00004070| 69 6e 74 65 72 6e 61 6c | 20 74 5d 20 34 5d 29 0a |internal| t] 4]).|
|00004080| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 c1 4e c2 |(byte-co|de "..N.|
|00004090| 73 ac 85 c3 c4 c0 5c 22 | 88 c5 c0 c1 c6 23 87 22 |s.....\"|.....#."|
|000040a0| 20 5b 69 67 72 65 70 2d | 64 65 66 61 75 6c 74 2d | [igrep-|default-|
|000040b0| 6b 65 79 20 62 79 74 65 | 2d 6f 70 74 69 6d 69 7a |key byte|-optimiz|
|000040c0| 65 72 20 28 6e 69 6c 20 | 62 79 74 65 2d 63 6f 6d |er (nil |byte-com|
|000040d0| 70 69 6c 65 2d 69 6e 6c | 69 6e 65 2d 65 78 70 61 |pile-inl|ine-expa|
|000040e0| 6e 64 29 20 65 72 72 6f | 72 20 22 25 73 20 61 6c |nd) erro|r "%s al|
|000040f0| 72 65 61 64 79 20 68 61 | 73 20 61 20 62 79 74 65 |ready ha|s a byte|
|00004100| 2d 6f 70 74 69 6d 69 7a | 65 72 2c 20 63 61 6e 27 |-optimiz|er, can'|
|00004110| 74 20 6d 61 6b 65 20 69 | 74 20 69 6e 6c 69 6e 65 |t make i|t inline|
|00004120| 22 20 70 75 74 20 62 79 | 74 65 2d 63 6f 6d 70 69 |" put by|te-compi|
|00004130| 6c 65 2d 69 6e 6c 69 6e | 65 2d 65 78 70 61 6e 64 |le-inlin|e-expand|
|00004140| 5d 20 34 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |] 4).(de|falias '|
|00004150| 69 67 72 65 70 2d 72 65 | 61 64 2d 66 69 6c 65 73 |igrep-re|ad-files|
|00004160| 20 23 5b 28 26 6f 70 74 | 69 6f 6e 61 6c 20 70 72 | #[(&opt|ional pr|
|00004170| 6f 6d 70 74 2d 70 72 65 | 66 69 78 29 20 22 08 c1 |ompt-pre|fix) "..|
|00004180| 61 ad 83 c2 c3 21 89 1c | c5 20 50 1e 06 c7 c8 0e |a....!..|. P.....|
|00004190| 06 5c 22 1e 09 ca 1e 0b | cc 0e 0d 0e 09 1e 0e 89 |.\".....|........|
|000041a0| 1e 0f ab 87 0e 0f 0e 0e | 50 aa 82 0e 0e 2a 0e 06 |........|P....*..|
|000041b0| ca d0 24 1e 11 0e 12 ac | 8d 0e 13 3a ab e0 d4 0e |..$.....|...:....|
|000041c0| 13 21 d5 73 ab d8 0e 11 | 43 1e 16 0e 0d 0e 17 ab |.!.s....|C.......|
|000041d0| 99 c7 d8 d9 da 0e 1b dc | 5c 22 dd 61 ab 83 dc aa |........|\".a....|
|000041e0| 86 de dd 0e 1b c3 23 21 | 5c 22 aa 81 df 1e 0e 89 |......#!|\"......|
|000041f0| 1e 0f ab 87 0e 0f 0e 0e | 50 aa 82 0e 0e 2a 16 09 |........|P....*..|
|00004200| e0 0e 09 ca e1 ca 89 d0 | 26 06 89 16 11 e1 98 ac |........|&.......|
|00004210| 89 0e 11 0e 16 42 16 16 | aa 66 0e 16 9f 29 aa 82 |.....B..|.f...)..|
|00004220| 0e 11 2d 87 22 20 5b 6d | 61 6a 6f 72 2d 6d 6f 64 |..-." [m|ajor-mod|
|00004230| 65 20 64 69 72 65 64 2d | 6d 6f 64 65 20 64 69 72 |e dired-|mode dir|
|00004240| 65 64 2d 63 75 72 72 65 | 6e 74 2d 64 69 72 65 63 |ed-curre|nt-direc|
|00004250| 74 6f 72 79 20 74 20 64 | 69 72 65 64 2d 73 75 62 |tory t d|ired-sub|
|00004260| 64 69 72 65 63 74 6f 72 | 79 20 69 67 72 65 70 2d |director|y igrep-|
|00004270| 64 65 66 61 75 6c 74 2d | 66 69 6c 65 2d 70 61 74 |default-|file-pat|
|00004280| 74 65 72 6e 20 64 65 66 | 61 75 6c 74 2d 66 69 6c |tern def|ault-fil|
|00004290| 65 73 20 66 6f 72 6d 61 | 74 20 22 46 69 6c 65 28 |es forma|t "File(|
|000042a0| 73 29 20 28 64 65 66 61 | 75 6c 74 20 25 73 29 3a |s) (defa|ult %s):|
|000042b0| 20 22 20 70 72 6f 6d 70 | 74 20 6e 69 6c 20 69 6e | " promp|t nil in|
|000042c0| 73 65 72 74 2d 64 65 66 | 61 75 6c 74 2d 64 69 72 |sert-def|ault-dir|
|000042d0| 65 63 74 6f 72 79 20 69 | 67 72 65 70 2d 72 65 61 |ectory i|grep-rea|
|000042e0| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 2d 77 69 74 68 |d-file-n|ame-with|
|000042f0| 2d 64 65 66 61 75 6c 74 | 2d 69 6e 2d 68 69 73 74 |-default|-in-hist|
|00004300| 6f 72 79 20 70 72 6f 6d | 70 74 2d 70 72 65 66 69 |ory prom|pt-prefi|
|00004310| 78 20 73 74 72 69 6e 67 | 20 70 72 65 66 69 78 20 |x string| prefix |
|00004320| 69 67 72 65 70 2d 66 69 | 6c 65 73 2d 68 69 73 74 |igrep-fi|les-hist|
|00004330| 6f 72 79 20 66 69 6c 65 | 20 69 67 72 65 70 2d 72 |ory file| igrep-r|
|00004340| 65 61 64 2d 6d 75 6c 74 | 69 70 6c 65 2d 66 69 6c |ead-mult|iple-fil|
|00004350| 65 73 20 63 75 72 72 65 | 6e 74 2d 70 72 65 66 69 |es curre|nt-prefi|
|00004360| 78 2d 61 72 67 20 70 72 | 65 66 69 78 2d 6e 75 6d |x-arg pr|efix-num|
|00004370| 65 72 69 63 2d 76 61 6c | 75 65 20 28 31 36 20 36 |eric-val|ue (16 6|
|00004380| 34 29 20 66 69 6c 65 73 | 20 69 67 72 65 70 2d 76 |4) files| igrep-v|
|00004390| 65 72 62 6f 73 65 2d 70 | 72 6f 6d 70 74 73 20 22 |erbose-p|rompts "|
|000043a0| 46 69 6c 65 28 73 29 3a | 20 5b 54 79 70 65 20 60 |File(s):| [Type `|
|000043b0| 25 73 27 20 77 68 65 6e | 20 64 6f 6e 65 5d 20 22 |%s' when| done] "|
|000043c0| 20 6b 65 79 2d 64 65 73 | 63 72 69 70 74 69 6f 6e | key-des|cription|
|000043d0| 20 6c 6f 6f 6b 75 70 2d | 6b 65 79 20 6d 69 6e 69 | lookup-|key mini|
|000043e0| 62 75 66 66 65 72 2d 6c | 6f 63 61 6c 2d 63 6f 6d |buffer-l|ocal-com|
|000043f0| 70 6c 65 74 69 6f 6e 2d | 6d 61 70 20 22 0d 22 20 |pletion-|map "." |
|00004400| 65 78 69 74 2d 6d 69 6e | 69 62 75 66 66 65 72 20 |exit-min|ibuffer |
|00004410| 77 68 65 72 65 2d 69 73 | 2d 69 6e 74 65 72 6e 61 |where-is|-interna|
|00004420| 6c 20 22 46 69 6c 65 28 | 73 29 3a 20 22 20 69 67 |l "File(|s): " ig|
|00004430| 72 65 70 2d 72 65 61 64 | 2d 66 69 6c 65 2d 6e 61 |rep-read|-file-na|
|00004440| 6d 65 20 22 22 5d 20 39 | 5d 29 0a 28 64 65 66 61 |me ""] 9|]).(defa|
|00004450| 6c 69 61 73 20 27 69 67 | 72 65 70 2d 77 69 74 68 |lias 'ig|rep-with|
|00004460| 2d 64 65 66 61 75 6c 74 | 2d 69 6e 2d 68 69 73 74 |-default|-in-hist|
|00004470| 6f 72 79 20 27 28 6d 61 | 63 72 6f 20 2e 20 23 5b |ory '(ma|cro . #[|
|00004480| 28 64 65 66 61 75 6c 74 | 20 68 69 73 74 6f 72 79 |(default| history|
|00004490| 20 26 72 65 73 74 20 62 | 6f 64 79 29 20 22 c0 c1 | &rest b|ody) "..|
|000044a0| c2 c3 0c c5 c6 5c 6e 44 | c7 5c 6e 44 c8 42 42 42 |.....\nD|.\nD.BBB|
|000044b0| 45 45 c9 c0 0e 5c 6e 42 | cb c7 5c 6e 44 cc cd c7 |EE...\nB|..\nD...|
|000044c0| 5c 6e 44 45 45 45 45 87 | 22 20 5b 70 72 6f 67 6e |\nDEEEE.|" [progn|
|000044d0| 20 73 65 74 20 68 69 73 | 74 6f 72 79 20 63 6f 6e | set his|tory con|
|000044e0| 73 20 64 65 66 61 75 6c | 74 20 69 66 20 62 6f 75 |s defaul|t if bou|
|000044f0| 6e 64 70 20 73 79 6d 62 | 6f 6c 2d 76 61 6c 75 65 |ndp symb|ol-value|
|00004500| 20 28 27 6e 69 6c 29 20 | 75 6e 77 69 6e 64 2d 70 | ('nil) |unwind-p|
|00004510| 72 6f 74 65 63 74 20 62 | 6f 64 79 20 73 65 74 63 |rotect b|ody setc|
|00004520| 64 72 20 6e 74 68 63 64 | 72 20 32 5d 20 31 30 5d |dr nthcd|r 2] 10]|
|00004530| 29 29 0a 28 64 65 66 61 | 6c 69 61 73 20 27 69 67 |)).(defa|lias 'ig|
|00004540| 72 65 70 2d 72 65 61 64 | 2d 73 74 72 69 6e 67 2d |rep-read|-string-|
|00004550| 77 69 74 68 2d 64 65 66 | 61 75 6c 74 2d 69 6e 2d |with-def|ault-in-|
|00004560| 68 69 73 74 6f 72 79 20 | 23 5b 28 70 72 6f 6d 70 |history |#[(promp|
|00004570| 74 20 64 65 66 61 75 6c | 74 20 68 69 73 74 6f 72 |t defaul|t histor|
|00004580| 79 29 20 22 08 09 c2 08 | 21 ad 82 08 4a 42 4c 88 |y) "....|!...JBL.|
|00004590| c3 8e c4 0d c6 89 89 08 | 25 29 89 1e 07 c8 98 ab |........|%)......|
|000045a0| 85 08 4a 09 a0 88 0e 07 | 29 87 22 20 5b 68 69 73 |..J.....|)." [his|
|000045b0| 74 6f 72 79 20 64 65 66 | 61 75 6c 74 20 62 6f 75 |tory def|ault bou|
|000045c0| 6e 64 70 20 28 28 62 79 | 74 65 2d 63 6f 64 65 20 |ndp ((by|te-code |
|000045d0| 22 08 4a 08 4a 41 41 a1 | 87 22 20 5b 68 69 73 74 |".J.JAA.|." [hist|
|000045e0| 6f 72 79 5d 20 32 29 29 | 20 72 65 61 64 2d 66 72 |ory] 2))| read-fr|
|000045f0| 6f 6d 2d 6d 69 6e 69 62 | 75 66 66 65 72 20 70 72 |om-minib|uffer pr|
|00004600| 6f 6d 70 74 20 6e 69 6c | 20 73 74 72 69 6e 67 20 |ompt nil| string |
|00004610| 22 22 5d 20 37 5d 29 0a | 28 64 65 66 61 6c 69 61 |""] 7]).|(defalia|
|00004620| 73 20 27 69 67 72 65 70 | 2d 72 65 61 64 2d 66 69 |s 'igrep|-read-fi|
|00004630| 6c 65 2d 6e 61 6d 65 2d | 77 69 74 68 2d 64 65 66 |le-name-|with-def|
|00004640| 61 75 6c 74 2d 69 6e 2d | 68 69 73 74 6f 72 79 20 |ault-in-|history |
|00004650| 23 5b 28 70 72 6f 6d 70 | 74 20 26 6f 70 74 69 6f |#[(promp|t &optio|
|00004660| 6e 61 6c 20 64 65 66 61 | 75 6c 74 20 69 6e 69 74 |nal defa|ult init|
|00004670| 69 61 6c 20 68 69 73 74 | 6f 72 79 29 20 22 08 09 |ial hist|ory) "..|
|00004680| c2 08 21 ad 82 08 4a 42 | 4c 88 c3 8e c4 0d c6 09 |..!...JB|L.......|
|00004690| c6 0e 07 08 26 06 29 87 | 22 20 5b 68 69 73 74 6f |....&.).|" [histo|
|000046a0| 72 79 20 64 65 66 61 75 | 6c 74 20 62 6f 75 6e 64 |ry defau|lt bound|
|000046b0| 70 20 28 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |p ((byte|-code ".|
|000046c0| 4a 08 4a 41 41 a1 87 22 | 20 5b 68 69 73 74 6f 72 |J.JAA.."| [histor|
|000046d0| 79 5d 20 32 29 29 20 69 | 67 72 65 70 2d 72 65 61 |y] 2)) i|grep-rea|
|000046e0| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 20 70 72 6f 6d |d-file-n|ame prom|
|000046f0| 70 74 20 6e 69 6c 20 69 | 6e 69 74 69 61 6c 5d 20 |pt nil i|nitial] |
|00004700| 37 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 69 |7]).(def|alias 'i|
|00004710| 67 72 65 70 2d 72 65 61 | 64 2d 66 69 6c 65 2d 6e |grep-rea|d-file-n|
|00004720| 61 6d 65 20 23 5b 28 70 | 72 6f 6d 70 74 20 26 6f |ame #[(p|rompt &o|
|00004730| 70 74 69 6f 6e 61 6c 20 | 64 69 72 65 63 74 6f 72 |ptional |director|
|00004740| 79 20 64 65 66 61 75 6c | 74 20 65 78 69 73 74 69 |y defaul|t existi|
|00004750| 6e 67 20 69 6e 69 74 69 | 61 6c 20 68 69 73 74 6f |ng initi|al histo|
|00004760| 72 79 29 20 22 08 ab 93 | 08 4a 19 c2 0b 0c 0d 0e |ry) "...|.J......|
|00004770| 06 0e 07 25 08 09 4c 88 | 29 aa 89 c2 0b 0c 0d 0e |...%..L.|).......|
|00004780| 06 0e 07 25 89 1e 08 c9 | 98 ac 8d ca 0e 08 21 ab |...%....|......!.|
|00004790| 87 cb cc 0e 08 5c 22 aa | 82 0e 08 29 87 22 20 5b |.....\".|...)." [|
|000047a0| 68 69 73 74 6f 72 79 20 | 66 69 6c 65 2d 6e 61 6d |history |file-nam|
|000047b0| 65 2d 68 69 73 74 6f 72 | 79 20 72 65 61 64 2d 66 |e-histor|y read-f|
|000047c0| 69 6c 65 2d 6e 61 6d 65 | 20 70 72 6f 6d 70 74 20 |ile-name| prompt |
|000047d0| 64 69 72 65 63 74 6f 72 | 79 20 64 65 66 61 75 6c |director|y defaul|
|000047e0| 74 20 65 78 69 73 74 69 | 6e 67 20 69 6e 69 74 69 |t existi|ng initi|
|000047f0| 61 6c 20 66 69 6c 65 2d | 6e 61 6d 65 20 22 22 20 |al file-|name "" |
|00004800| 66 69 6c 65 2d 64 69 72 | 65 63 74 6f 72 79 2d 70 |file-dir|ectory-p|
|00004810| 20 65 78 70 61 6e 64 2d | 66 69 6c 65 2d 6e 61 6d | expand-|file-nam|
|00004820| 65 20 22 2a 22 5d 20 37 | 5d 29 0a 28 64 65 66 61 |e "*"] 7|]).(defa|
|00004830| 6c 69 61 73 20 27 69 67 | 72 65 70 2d 64 65 66 61 |lias 'ig|rep-defa|
|00004840| 75 6c 74 2d 66 69 6c 65 | 2d 70 61 74 74 65 72 6e |ult-file|-pattern|
|00004850| 20 23 5b 6e 69 6c 20 22 | 08 c1 61 ab 9a 5c 6e 3b | #[nil "|..a..\n;|
|00004860| ab 8b c3 5c 6e 21 ab 82 | c4 87 c5 5c 6e 21 87 5c |...\n!..|...\n!.\|
|00004870| 6e 3a ad ab c6 c7 5c 6e | 41 c8 23 87 0e 09 ab 9f |n:....\n|A.#.....|
|00004880| c5 0e 09 21 1e 5c 6e c4 | cb 20 1e 0c cd 8e ce cf |...!.\n.|. ......|
|00004890| 0e 5c 6e 5c 22 ad 87 0e | 5c 6e d0 94 d0 95 4f 2a |.\n\"...|\n....O*|
|000048a0| 50 29 87 c4 87 22 20 5b | 6d 61 6a 6f 72 2d 6d 6f |P)..." [|major-mo|
|000048b0| 64 65 20 64 69 72 65 64 | 2d 6d 6f 64 65 20 64 69 |de dired|-mode di|
|000048c0| 72 65 64 2d 64 69 72 65 | 63 74 6f 72 79 20 66 69 |red-dire|ctory fi|
|000048d0| 6c 65 2d 64 69 72 65 63 | 74 6f 72 79 2d 70 20 22 |le-direc|tory-p "|
|000048e0| 2a 22 20 66 69 6c 65 2d | 6e 61 6d 65 2d 6e 6f 6e |*" file-|name-non|
|000048f0| 64 69 72 65 63 74 6f 72 | 79 20 6d 61 70 63 6f 6e |director|y mapcon|
|00004900| 63 61 74 20 69 64 65 6e | 74 69 74 79 20 22 20 22 |cat iden|tity " "|
|00004910| 20 62 75 66 66 65 72 2d | 66 69 6c 65 2d 6e 61 6d | buffer-|file-nam|
|00004920| 65 20 66 69 6c 65 2d 6e | 61 6d 65 20 6d 61 74 63 |e file-n|ame matc|
|00004930| 68 2d 64 61 74 61 20 6d | 61 74 63 68 2d 64 61 74 |h-data m|atch-dat|
|00004940| 61 20 28 28 73 74 6f 72 | 65 2d 6d 61 74 63 68 2d |a ((stor|e-match-|
|00004950| 64 61 74 61 20 6d 61 74 | 63 68 2d 64 61 74 61 29 |data mat|ch-data)|
|00004960| 29 20 73 74 72 69 6e 67 | 2d 6d 61 74 63 68 20 22 |) string|-match "|
|00004970| 5c 5c 2e 5b 5e 2e 5d 2b | 5c 5c 28 5c 5c 2e 67 3f |\\.[^.]+|\\(\\.g?|
|00004980| 5b 7a 5a 5d 5c 5c 29 3f | 24 22 20 30 5d 20 34 5d |[zZ]\\)?|$" 0] 4]|
|00004990| 29 0a | |). | |
+--------+-------------------------+-------------------------+--------+--------+